added a new exception class to avoid the top level class "Exception"