geoip works. Needs refactoring