finish rotation by swap