added threads framework for downloader