Reworked the entire thing to implement a GUI.