void creatingGui() {
		m_window = new JFrame("Othello");
		m_window.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
		m_window.setLayout(new GridBagLayout());
		m_window.getContentPane().setBackground(Color.GREEN);
		GridBagConstraints c = new GridBagConstraints();
		m_window.setIconImage(new ImageIcon(this.getClass().getResource(
				"Othello.jpeg")).getImage());

		if (m_playerOne.getColour().equals("Black")) {
			setPlayerLabel(m_playerOne.getName(), "Black",
					m_playerTwo.getName(), "White");
		} else {
			setPlayerLabel(m_playerOne.getName(), "White",
					m_playerTwo.getName(), "Black");
		}

		m_panel.add(getTimerLabel());
		m_panel.add(getPlayerLabel());
		setPlayerScore(getGame());
		m_panel.add(getPlayerScore());
		c.gridx = 0;
		c.gridy = 0;
		c.gridwidth = 8;
		c.anchor = GridBagConstraints.NORTH;
		m_panel.setBackground(Color.GREEN);
		m_window.add(m_panel, c);

		GUIHandler handler = new GUIHandler();

		m_gridButtons = new JLabel[TOTALWIDTH][TOTALHEIGHT];
		for (int y = 0; y < TOTALWIDTH; y++) {
			for (int x = 0; x < TOTALHEIGHT; x++) {
				m_gridButtons[x][y] = new JLabel("");
				m_gridButtons[x][y].setIcon(m_backgroundTile);
				m_gridButtons[x][y].addMouseListener(handler);
				m_gridButtons[x][y].setPreferredSize(new Dimension(BOARDWIDTH,
						BOARDHEIGHT));
				c.gridx = x;
				c.gridy = y + 1;
				c.gridwidth = 1;
				m_window.add(m_gridButtons[x][y], c); // adds button to grid
			}
		}

		m_gridButtons[COLUMN_FOUR][COLUMN_FOUR].setIcon(m_whitePiece);
		m_gridButtons[COLUMN_FIVE][COLUMN_FIVE].setIcon(m_whitePiece);
		m_gridButtons[COLUMN_FOUR][COLUMN_FIVE].setIcon(m_blackPiece);
		m_gridButtons[COLUMN_FIVE][COLUMN_FOUR].setIcon(m_blackPiece);

		m_window.setJMenuBar(creatingMenu());
		m_window.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				int confirmed = JOptionPane.showConfirmDialog(null,
						"Are you sure you want to exit the program?",
						"Exit Program Message Box", JOptionPane.YES_NO_OPTION);
				if (confirmed == JOptionPane.YES_OPTION) {
					m_window.dispose();
				}
			}
		});

		m_window.getRootPane().setDefaultButton(m_defaultButton);
		m_window.pack();
		m_window.setVisible(true);

		if (!m_playerOne.getPlayerType().equals("Human")) {
			int x, y;
			if (m_playerOne.getPlayerType().equals("ComputerEasy")) {
				Point p = ((OthelloEasyComputerPlayer) m_playerOne)
						.makeAIMove(m_board);
				x = (int) p.getX();
				y = (int) p.getY();
			} else {
				Point p = ((OthelloHardComputerPlayer) m_playerOne)
						.makeAIMove(m_board);
				x = (int) p.getX();
				y = (int) p.getY();
			}
			performMove(x, y);
		}
	}