added geoip api and improvements