first draft of cache