template as parameter for procrepr