move exception to separate header