geolocation service implementation