Tpl implementation