partially done for currency/money refactoring