btw, when implementing caching, it doesn't makes sense at all