private JPanel buildTopPanel() {
		JPanel top = new JPanel();
		top.setLayout(new BoxLayout(top, BoxLayout.Y_AXIS));
		// --------- GRAVITY PANEL ---------
		JPanel gravityPanel = new JPanel();
		gravityPanel.setBorder(BorderFactory.createTitledBorder("Gravity"));
		gravity = new JCheckBox("Enable Gravity");
			gravity.addActionListener(new ButtonListener());
			gravity.setSelected(false);
		gravityPanel.add(gravity);
		gravityLabel = new JLabel("");
		gravityPanel.add(gravityLabel);
		gravityDelay = new JSlider();
			gravityDelay.addChangeListener(new GravityListener());
			gravityDelay.setMinimum(50);
			gravityDelay.setMaximum(2500);
			gravityDelay.setMajorTickSpacing(200);
			gravityDelay.setMinorTickSpacing(100);
			gravityDelay.setValue(1000);
			gravityDelay.setSnapToTicks(true);
			gravityDelay.setPaintTicks(true);
			gravityDelay.setEnabled(false);
		gravityPanel.add(gravityDelay);
		top.add(gravityPanel);
		// --------- UNIT SIZE PANEL ---------
		JPanel unitPanel = new JPanel();
		unitPanel.setBorder(BorderFactory.createTitledBorder("Unit Size"));
		unitLabel = new JLabel("Unit size: 25 (default 25)");
		unitPanel.add(unitLabel);
		unitSlider = new JSlider();
			unitSlider.setMinimum(5);
			unitSlider.setMaximum(200);
			unitSlider.setMajorTickSpacing(50);
			unitSlider.setMinorTickSpacing(5);
			unitSlider.setValue(25);
			unitSlider.setPaintTicks(true);
			unitSlider.setSnapToTicks(true);
			unitSlider.addChangeListener(new UnitListener());
			unitSlider.addMouseListener(new UnitListener());
		unitPanel.add(unitSlider);
		JButton unitResetButton = new JButton("Reset");
		unitResetButton.addActionListener(new UnitListener());
		unitPanel.add(unitResetButton);
		top.add(unitPanel);
		return top;
	}