finish downloader and test cases