move locator stuff into its own package