almost completed the implementaiton of ReactionRule