added puzzle swapability