first working swapper with new method still buggy!!