implement downloader with curl