Add caching to Circle