added rete types, and skeleton for implementation