arbitrage refactor