This shit works. Implemented swapping successfully