async fn download_cities( cities: Vec<String>, outer_progress: Sender<String>, inner_progress: Sender<String>) -> Result<()>