adding more custom exceptions