private boolean isEndGameSituation(Move move) {
    String currentString;
    if ( currentColor == BLACK ) {
      currentString = "Black";
    }
    else {
      currentString = "White";
    }
    // check for checkmate
    if ( board.isCheckmate () ) {
      moveStorage.add (move);
      addHistory ();
      frame.repaint ();
      displayMessage ("Checkmate! " + currentString + " wins.");
      synchronized (myThread) {
        myThread.pause ();
      }
      return true;
    }
    // check for stalemate
    else if ( board.isStalemate () ) {
      moveStorage.add (move);
      addHistory ();
      frame.repaint ();
      displayMessage ("Stalemate");
      synchronized (myThread) {
        myThread.pause ();
      }
      return true;
    }
    else if ( myTimer.isRundown () ) {
      changeColorTo(WHITE);
      frame.repaint();
      displayMessage ("Timer run down. " + currentString + " looses.");
      synchronized (myThread) {
        myThread.pause ();
      }
      
      return true;
    }
    else
      return false;
  }