improved IPLookup