first sketch of the GUI, controller and event handling