reseeding and swapping working.  TODO: Test edge cases on reseeding and swapping