Added a custom exception class