remaking caching system