reorganising, splitting off rule_parser.py, data_checker.py and utils.py
some updates to the rule compiler statements