this class is starting to come together.
redesigned gui.