restructuring everything, adding geocode support through nominatim