new tpl semantic