polymorphize downloader