refactored exception