changed threaded downloader to use futures thread pool instead of original workers paradigm