starting on the models of the rule-based system, still needs work