corrected promote_rule