refactored MarketList create/update