add predicate conditions to event
move predicates into tools