fixed swap (i think)