added EnviornmentLocator template and impletation