add caching close #6