Added balance methods
Refactored code