some gui logic for opening and saving files.