swap algos