use thread to download file