feature: add rule