adding downloader classes with tests