added support for geolocation