New Add Cause Function with better logging and error handling