updates add definitions and predicates - not unique