add rule, add api