Rewrote MarketOnDemand datasource to be less redundent