async geolocation implemented