Refactoring Exception structure