added RULE macro