much refactoring underway. introduced Provider, implemented BankProvider.