Add design for predicate traversal