use a single pointer to represent a rule in a state.