first swapping