add custom exceptions