moving some stuff out of the geocode method to make usable and dry for reverse geocoding