split the rotation for tiles into 2 methods
split the loose piece list initialization into a separate method
when removing tiles on the board, give the new gap tile the same board position as the original tile
updated spreadsheet helper
empty and refill the loose piece list after rotating the board
after rotating, collapse tiles before scanning board for words
new shifted piece falls gracefully into position