simplify: don't support concurrent extractions, they are not practical in many cases.
return nil if geonames fails
allow for empty origins and missing paths