predicate matcher algo added: base