 	
 	func submit() -> (success: Bool, errors: [String]) {
 		if let game = GameWrapper.sharedInstance.game {
+			// Collect words we changed
 			var words = [Word]()
 			let squares = mutableSquareSprites.map({$0.square!})
 			let (success, errors) = game.validate(squares, outWords: &words)
 			if !success {
 				return (success, errors)
 			}
+			
+			// Get new sprites for played words
 			var sprites = [SquareSprite]()
 			for word in words {
 				sprites.extend(getSquareSprites(forSquares:word.squares))

			
			// Remove the sprites from the rack
			for sprite in sprites {
				sprite.tileSprite?.movable = false
				if let spriteTile = sprite.tileSprite?.tile {
					rackSprites = rackSprites.filter({$0.tile != spriteTile})

						rack.tiles = rack.tiles.filter({$0 != spriteTile})
					}
				}
				// Set square to immutable, so score won't include multipliers in future
				sprite.square?.immutable = true
			}
			for sprite in rackSprites {
				sprite.removeFromParent()
			}
			
			// Recreate rack
			if let rack = game.rack {
				rack.replenish(fromBag: game.bag)
			}
