add SwapStrategy, RandomizedSwapStrategy