change to custom exception class