better currency handling and all tests pass