all gui in one window and lots of error handling improvements