separation of the GUI