Basic working GUI and file I/O