public GameWindow(Game game) {
		boolean test = false;
		if (test || m_test) {
            System.out.println("GameWindow :: GameWindow() BEGIN");
        }
		boolean m_Trace = false;
		
		if(m_Trace) System.out.println
			("GameWindow::GameWindow() - window initializing");
		if(m_Trace) System.out.println
			("GameWindow::GameWindow() - Linked game is " + game.getClass());
		GridBagConstraints c = new GridBagConstraints();
		GridBagLayout layout = new GridBagLayout();
		
		setGame(game);
		setDrawing(new Drawing(m_gameControl));
		setControls(new Controls(this));
		
		setLayout(layout);
		
		JComponent grid = getDrawing().getGridPanel();
		
		c.gridx = 0;
		c.gridy = 0;
		layout.setConstraints(grid, c);
		add(grid);
		
		c.gridx = 1;
		layout.setConstraints(getDrawing().getSideBarPanel(), c);
		add(getDrawing().getSideBarPanel());
			  
		m_menubar = new JMenuBar();
		add(m_menubar);
		m_newGame = new JMenuItem("New Game");
		m_menubar.add(m_newGame);
		m_resetGame = new JMenuItem("Restart Game");
		m_menubar.add(m_resetGame);
        m_save = new JMenuItem("Save");
		m_menubar.add(m_save);
		m_load = new JMenuItem("Load");
		m_menubar.add(m_load);
		m_exit = new JMenuItem("Exit");
		m_menubar.add(m_exit);
		setJMenuBar(m_menubar);
		
		Handler handler = new Handler();
		
		m_newGame.addActionListener(handler);
	    m_resetGame.addActionListener(handler);
		m_save.addActionListener(handler);
        m_load.addActionListener(handler);
        m_exit.addActionListener(handler);


		setTitle("Boardgame");
		
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	    pack();
        setLocationRelativeTo(null);
		setVisible(true);
		setResizable(false);
		if(m_Trace) { System.out.println
			("GameWindow::GameWindow() - window initialized");
		}
		if (test || m_test) {
            System.out.println("GameWindow :: GameWindow() END");
        }
	}