Adds swapping base functionality
Adds animation to swapping