add an error hierarchy