bad swap func