Improve the  cache feature