private void buildGUI() {
		frame = new JFrame("Mr. Shop");
		JPanel mainPanel = new JPanel();
		mainPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
		mainPanel.setLayout(new BoxLayout(mainPanel, BoxLayout.Y_AXIS));
		JPanel fuelPanel = new JPanel();
			fuelPanel.setBorder(BorderFactory.createTitledBorder("Fuel"));
			fuelPanel.setLayout(new BoxLayout(fuelPanel, BoxLayout.Y_AXIS));
			s.fuelBar = new JProgressBar();
			fuelPanel.add(s.fuelBar);
			s.fuelLabel = new JLabel("Loading fuel tank info...");
			fuelPanel.add(s.fuelLabel);
			fuelPanel.add(new JLabel("Exchange rate: $1 = 1 fuel"));
			JPanel fillUp = new JPanel();
				fillUp.add(new JLabel("Amount of fuel:"));
				String[] choices = new String[] {"$1", "$5", "$10", "$20", "Fill 'er up"};
				s.fuelBox = new JComboBox(choices);
					s.fuelBox.addActionListener(new ButtonListener());
					s.fuelBox.setSelectedIndex(4);
				fillUp.add(s.fuelBox);
				s.fuelButton = new JButton("Add Fuel");
					s.fuelButton.addActionListener(new ButtonListener());
				fillUp.add(s.fuelButton);
			fuelPanel.add(fillUp);
		mainPanel.add(fuelPanel);
		JPanel reservePanel = new JPanel();
			reservePanel.setBorder(BorderFactory.createTitledBorder("Fuel Reserve Tank"));
			reservePanel.setLayout(new GridLayout(2, 1));
			s.reserveLabel = new JLabel("Loading...");
			reservePanel.add(s.reserveLabel);
			JPanel reserveButtonPanel = new JPanel(new GridLayout(1, 2));
			((GridLayout) reserveButtonPanel.getLayout()).setHgap(5);
			s.reserveButton = new JButton("Buy Another Reserve ($100)");
				s.reserveButton.addActionListener(new ButtonListener());
			reserveButtonPanel.add(s.reserveButton);
			s.reserveSellButton = new JButton("Sell A Reserve ($90)");
				s.reserveSellButton.addActionListener(new ButtonListener());
			reserveButtonPanel.add(s.reserveSellButton);
			reservePanel.add(reserveButtonPanel);
		mainPanel.add(reservePanel);
		JPanel dynamitePanel = new JPanel();
			dynamitePanel.setBorder(BorderFactory.createTitledBorder("Dynamite"));
			dynamitePanel.setLayout(new GridLayout(2, 1));
			s.dynamiteLabel = new JLabel("Loading...");
			dynamitePanel.add(s.dynamiteLabel);
			JPanel dynamiteButtonPanel = new JPanel(new GridLayout(1, 2));
			((GridLayout) dynamiteButtonPanel.getLayout()).setHgap(5);
			s.dynamiteButton = new JButton("Buy Some Dynamite ($150)");
				s.dynamiteButton.addActionListener(new ButtonListener());
			dynamiteButtonPanel.add(s.dynamiteButton);
			s.dynamiteSellButton = new JButton("Sell Some Dynamite ($140)");
				s.dynamiteSellButton.addActionListener(new ButtonListener());
			dynamiteButtonPanel.add(s.dynamiteSellButton);
			dynamitePanel.add(dynamiteButtonPanel);
		mainPanel.add(dynamitePanel);
		JPanel upgradePanel = new JPanel();
			upgradePanel.setBorder(BorderFactory.createTitledBorder("Upgrades"));
			GridLayout gl = new GridLayout(2, 3);
			gl.setHgap(5);
			gl.setVgap(5);
			upgradePanel.setLayout(gl);
			s.upgradeFuelLabel = new JLabel("Loading...");
			upgradePanel.add(new JLabel("Fuel Tank"));
			upgradePanel.add(s.upgradeFuelLabel);
			s.upgradeFuelButton = new JButton("Loading...");
				s.upgradeFuelButton.addActionListener(new ButtonListener());
			upgradePanel.add(s.upgradeFuelButton);
			upgradePanel.add(new JLabel("Dynamite"));
			s.upgradeDynamiteLabel = new JLabel("Loading...");
			upgradePanel.add(s.upgradeDynamiteLabel);
			s.upgradeDynamiteButton = new JButton("Loading...");
			s.upgradeDynamiteButton.addActionListener(new ButtonListener());
			upgradePanel.add(s.upgradeDynamiteButton);
		mainPanel.add(upgradePanel);
		JPanel unlockPanel = new JPanel(new GridLayout(2, 1));
			unlockPanel.setBorder(BorderFactory.createTitledBorder("Unlocks"));
			s.unlockPortalLabel = new JLabel("Loading...");
			unlockPanel.add(s.unlockPortalLabel);
			s.unlockPortalButton = new JButton("Unlock Portal ($30,000)");
			s.unlockPortalButton.addActionListener(new ButtonListener());
			unlockPanel.add(s.unlockPortalButton);
		mainPanel.add(unlockPanel);
		statusBar = new JLabel("Loading...");
		frame.addKeyListener(new ShopListener());
		frame.addWindowListener(new ShopListener());
		frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
		frame.getContentPane().add(BorderLayout.SOUTH, statusBar);
		frame.setBounds(Helper.getCenteredBounds(600, 550));
	}