swap and swap