moved success and failure out of the downloader