Refactor Bank for better semantics
Improve docs in Bank