templatize locator implementation