refactor the account