Working on the rule processor, better commit here just in case I make too many bad design decisions