smarttemplate