add socket timeout for download