rework towards locator predicate