public void addOptionsMenu(JMenuBar menuBar, final JFrame frame) {
		JMenu optionsMenu = new JMenu("Options");
	    menuBar.add(optionsMenu);
	    
	    JMenuItem MMDepthAction = new JMenuItem("M.M. Depth");
	    optionsMenu.add(MMDepthAction);
	    
	    JMenuItem QDepthAction = new JMenuItem("Q. Depth");
	    optionsMenu.add(QDepthAction);	
	    
	    JMenuItem UCTTimeAction = new JMenuItem("UCT Time");
	    optionsMenu.add(UCTTimeAction);
	    
	    optionsMenu.addSeparator();
	    
	    JMenuItem updateRateAction = new JMenuItem("Updates Per Second");
	    optionsMenu.add(updateRateAction);
	    
	   
		
	    MMDepthAction.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            	String s = (String)JOptionPane.showInputDialog(
                        frame,
                        "Enter the depth for use with MiniMax:",
                        "MiniMax Depth",
                        JOptionPane.PLAIN_MESSAGE,
                        null,
                        null,
                        "5");
            	
            	if (s != null)
            		depth = Integer.parseInt(s);
            	
            	try {
					resetGame();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
            }
		});
	    
	    QDepthAction.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            	String s = (String)JOptionPane.showInputDialog(
                        frame,
                        "Enter the depth for use with Quiescence Search:",
                        "Quiescence Depth",
                        JOptionPane.PLAIN_MESSAGE,
                        null,
                        null,
                        "3");
            	
            	if (s != null)
            		qDepth = Integer.parseInt(s);
            	
            	try {
					resetGame();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
            }
		});
	    
	    UCTTimeAction.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            	String s = (String)JOptionPane.showInputDialog(
                        frame,
                        "Enter the time limit for UCT in milliseconds:",
                        "UCT Time Limit",
                        JOptionPane.PLAIN_MESSAGE,
                        null,
                        null,
                        "3000");
            	
            	if (s != null)
            		time = Integer.parseInt(s);
            	
            	try {
					resetGame();
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
            }
		});
		
		updateRateAction.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
            	String s = (String)JOptionPane.showInputDialog(
                        frame,
                        "Enter the number of Updates Per Second you wish to have:",
                        "Updates Per Second",
                        JOptionPane.PLAIN_MESSAGE,
                        null,
                        null,
                        "2");
            	
            	if (s != null)
            		UPDATES_PER_SECOND = Integer.parseInt(s);
            }
		});
		
    }