Added tp (template parameter)