Main program with GUI