rejigged GUI a bit, added some error handling, some other jazz