anchor.diff:      mainSquareDiv.children.clear();
       mainSquareDiv.appendHtml('<span class="main-mark">$littleBoardWinner</span>');
   
  +    // check for win
       if (mainBoardWinner != null) {
  -      clearAvailableLittleSquares();
         messageDiv.text = "Player $mainBoardWinner wins!";
  +      return;
  +    }
  +    else if (mainBoard._moveCount >= 9) {
  +      messageDiv.text = "It's a tie!";
         return;
       }
     }
  
positive.code: 
    List<String> _board;
  
    TTTBoard() {
      _board = new List<String>.filled(9, null);
    }
  
    String move(int square, String player) {
      _board[square] = player;
      return checkWin();
    }
  
  
negative.code:   }
  }
  
  void move(int mainSquare, int littleSquare) {
    // remove click listeners from last turn
    availableLittleSquares
      ..forEach((DivElement squareDiv, StreamSubscription listener) {
          squareDiv.classes.toggle("current-square");
          listener.cancel();
      })
      ..clear();
  
    // mark the square
    getLittleSquareDiv(mainSquare, littleSquare).text = currentPlayer;
  
    // make the move
    String littleBoardWinner = littleBoards[mainSquare].move(littleSquare, currentPlayer);
  
    // if there is a win on a little board, make a move on the main board
    if (littleBoardWinner != null) {
      String mainBoardWinner = mainBoard.move(mainSquare, littleBoardWinner);
  
  