new files for GUI implementation