refactored and designed mtgox