added a market_exchange_factory