refactoring; account: implemented;