adding geolocation functionality