more exception handling.