download cache functions first draft