puzzle mechanics