moved error.h out of global namespace