templateprocessor