currency refactoring and fixes
currency works