away with the boilerplate of Exception subclasseses