public void backToMenu() {
		int reply = JOptionPane.showConfirmDialog(null, "Would you like to return to the Main Menu?");
		if(reply == JOptionPane.YES_OPTION) {
			timer.stop();
			reply = JOptionPane.showConfirmDialog(null, "Would you like to save your progress before quiting?");
			if(reply == JOptionPane.YES_OPTION) {
				saveGame();
				JOptionPane.showMessageDialog(null, "Puzzle Saved", "Success", JOptionPane.INFORMATION_MESSAGE);
				MainMenu menu = new MainMenu(1000, 800, user);
				menu.setSize(1000, 800);
				menu.setVisible(true);
				menu.setTitle("CSE360 Sudoku Main Menu");
				dispose();
			} else {
				reply = JOptionPane.showConfirmDialog(null, "Would you like to see the solution?");
				if(reply == JOptionPane.YES_OPTION) {
					MainMenu menu = new MainMenu(1000, 800, user);
					menu.setSize(1000, 800);
					menu.setVisible(true);
					menu.setTitle("CSE360 Sudoku Main Menu");
					ShowSolution solution;
					switch(difficulty) {
						case "Easy":
							solution = new ShowSolution("easy9x9Solution.txt","9x9");
							solution.setTitle("Easy 9x9 Solution");
							break;
						case "Medium":
							solution = new ShowSolution("medium9x9Solution.txt", "9x9");
							solution.setTitle("Medium 9x9 Solution");
							break;
						case "Hard":
							solution = new ShowSolution("hard9x9Solution.txt", "9x9");
							solution.setTitle("Hard 9x9 Solution");
							break;
						default:
							solution = new ShowSolution("evil9x9Solution.txt", "9x9");
							solution.setTitle("Evil 9x9 Solution");
							break;
					}
					solution.setSize(500, 500);
					solution.setVisible(true);
					solution.setResizable(false);
					dispose();
				}
				else {
					MainMenu menu = new MainMenu(1000, 800, user);
					menu.setSize(1000, 800);
					menu.setVisible(true);
					menu.setTitle("CSE360 Sudoku Main Menu");
					dispose();
				}
			}
		}
	}