implement smarty 3
cache