add timeout to downloader