Implement caching, add example show cache