GUI and program logic fixed and finished