implement cause_critical