Added all predicates except :not, and added :if clause support