background thread downloads where possible