WIP attempting to implement a cache