new class ExpertSystem, shit works.
todo: check corner cases