[#13] utilize the cache framework for the directory caching