add custom exception for better output