add geolocation, mobile support