rule adder works