added more exception