Broke up GUI for better modularity