added geolocation support