added the exception class