merged gui_implementation