more refactoring of arbitrage