public SoundTester() {
		// Set JFrame properties
		this.setTitle(TITLE);
		this.setResizable(false);
		this.setSize(WIDTH, HEIGHT);
		this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
		this.setLocationRelativeTo(null);
		
		// get content pane
		pane = this.getContentPane();
		pane.setLayout(new FlowLayout());
		
		// Create mob Panel
		mobPanel = new JPanel();
		mobPanel.setLayout(new GridLayout(0, 4));
		
		// Add the mob sounds to the testing window
		pane.add(new JLabel("Mob Sounds"));
		pane.add(mobPanel);
		
		// Add the sound buttons
		for (Card c : Card.Collection) {
			mobPanel.add(
				new JLabel(
					c.getID() + " - " +
					c.getImageName().substring(0, c.getImageName().indexOf('.')) + ": "
				)
			);
			mobPanel.add(
				new sButton(
					"Reveal",
					c.getRevealSound(),
					BugList.exists(new Bug("Sound", "Mob", c.getID().toString(), "Reveal"))
				)
			);
			mobPanel.add(
				new sButton(
					"MisMatch",
					c.getMisMatchSound(),
					BugList.exists(new Bug("Sound", "Mob", c.getID().toString(), "MisMatch"))
				)
			);
			mobPanel.add(
				new sButton(
					"Match",
					c.getMatchSound(),
					BugList.exists(new Bug("Sound", "Mob", c.getID().toString(), "Match"))
				)
			);
		}
		
		// Create clip panel
		clipPanel = new JPanel();
		clipPanel.setLayout(new GridLayout(1, 0));
		
		// Add the clip sounds to the testing window
		pane.add(new JLabel("Misc. Clips"));
		pane.add(clipPanel);
		
		// Add the sound buttons
		for (Map.Entry<String, OggClip> c : Card.Clips.entrySet()) {
			clipPanel.add(
				new sButton(
					c.getKey(),
					c.getValue(),
					BugList.exists(new Bug("Sound", "Clip", c.getKey()))
				)
			);
		}
		
		// Set the instance variable
		instance = this;
		
		// Show our new amazing window!
		this.setVisible(true);
	}