testing + solving swap pointer weirdness