and even better version for catching errors.