Add template caching