Refactored CacheDownload