more thinking about objects, printing and class definitions
moves error_handling.h out and removes all non-spec refs