resolves #438 add basic template cache