refactoring to correct ordering of arguments in exception hierarchy