this is about a tile swapping problem