async download to sync