merging GUI and ProgramRunner