public void initUI() {
		if(initiated){
			w.setSize(500, 200);
			return;
		}
		//setting self up
		setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
		
		//setting up MenuDialog
		md = new MenuDialog(this);
		//setting language-specific strings
		if(Locale.getDefault() == Locale.GERMAN || Locale.getDefault() == Locale.GERMANY){
			showGraphsL = Lang_GER.showGraphs;
			graphsTip = Lang_GER.graphsTip;
			showBoardsL = Lang_GER.showSim;
			boardsTip = Lang_GER.simTip;
			noStepsL = Lang_GER.numberStepsL;
			quitL = Lang_GER.quit;
			advancedL = Lang_GER.advancedDialog;
			startL = Lang_GER.start;
		 } else if(Locale.getDefault() == Locale.FRENCH || Locale.getDefault() == Locale.FRANCE){
			showGraphsL = Lang_FR.showGraphs;
			graphsTip = Lang_FR.graphsTip;
			showBoardsL = Lang_FR.showSim;
			boardsTip = Lang_FR.simTip;
			noStepsL = Lang_FR.numberStepsL;
			advancedL = Lang_FR.advancedDialog;
			quitL = Lang_FR.quit;
			startL = Lang_FR.start;
		 } else {
			showGraphsL = Lang_EN.showGraphs;
			graphsTip = Lang_EN.graphsTip;
			showBoardsL = Lang_EN.showSim;
			boardsTip = Lang_EN.simTip;
			noStepsL = Lang_EN.numberStepsL;
			advancedL = Lang_EN.advancedDialog;
			quitL = Lang_EN.quit;
			startL = Lang_EN.start;	 
		 }
		//setting up ActionListener
		ml = new MenuListener(gui);
		
		//setting up low-level components
		gameboardIcon = new ImageIcon("/Users/daniel/workspace/Apfelkrieg_final/resources/gameboard.png", "Gameboard");
		graphsIcon = new ImageIcon("/Users/daniel/workspace/Apfelkrieg_final/resources/graphs.png", "Graphs");
		
		advanced = new JButton(advancedL);
		start = new JButton(startL);
		quit = new JButton(quitL);
		
		showBoardsP = new JPanel();
		showBoardsP.setLayout(new FlowLayout(FlowLayout.LEFT));
		showGraphsP = new JPanel();
		showGraphsP.setLayout(new FlowLayout(FlowLayout.LEFT));
		numberStepsP = new JPanel();
		numberStepsP.setLayout(new FlowLayout(FlowLayout.LEFT));
		
		showBoards = new JCheckBox(showBoardsL);
		showBoards.setToolTipText(boardsTip);
		showGraphs = new JCheckBox(showGraphsL);
		showBoards.setToolTipText(graphsTip);
		numberSteps = new JSpinner(new SpinnerNumberModel(21, 0, 51000000, 1));
		numberStepsL = new JLabel(noStepsL);
		
		boardL = new JLabel(gameboardIcon);
		graphsL = new JLabel(graphsIcon);
		
		showBoardsP.add(boardL);
		showBoardsP.add(showBoards);
		showGraphsP.add(graphsL);
		showGraphsP.add(showGraphs);
		numberStepsP.add(numberSteps);
		numberStepsP.add(numberStepsL);

		//setting up top-level components
		buttonP = new JPanel();
		buttonP.setLayout(new BoxLayout(buttonP, BoxLayout.X_AXIS));
		
		mainP = new JPanel();
		mainP.setLayout(new GridLayout(2, 2));
		
		//adding to buttonP
		buttonP.add(quit);
		buttonP.add(Box.createHorizontalGlue());
		buttonP.add(advanced);
		buttonP.add(Box.createHorizontalGlue());
		buttonP.add(start);
		
		//adding to mainP
		mainP.add(showBoardsP);
		mainP.add(numberStepsP);
		mainP.add(showGraphsP);
		mainP.setMaximumSize(new Dimension(2000000, 70));
				
		//adding to self
		add(mainP);
		add(Box.createVerticalGlue());
		add(buttonP);
		
		//adding ActionListener to various components
		showBoards.addActionListener(ml);
		showGraphs.addActionListener(ml);
		quit.addActionListener(ml);
		advanced.addActionListener(ml);
		start.addActionListener(ml);
		
		//setting up window
		w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		w.setVisible(true);
		w.setSize(500, 200);
		w.setMinimumSize(new Dimension(410, 140));	
		initiated = true;
	}