fix: allow empty provider + fix using geocoder batch + fix reading from cache