banks refactored