spec swap_position