Hopefully took care of parent pointer problems with swapping.