add swapPairs()