refactor arbitrage again