add functional template processor