add template.hpp update template.c