Implement the downloader, not done yet.