caching shapes