added template with cache