working ish gui
simple error handling (more tbd)