rule engine initial commit