add: geocoding uses provider pattern