getting closer to an actual working cache mechanism