balanceOf now returns correct results if the sender ran out of funds, refactoring, added Readme with textual description of challenges and options