particle swapping