did some quite heavy refactoring of the GUI for easier readability