factored out geocoding logic to a library