rework to use JS geoip