academic project. multithread downloader.