Lots of changes.  Error handling (some).  Better definition of workspace.