add rule.h