updated template.cpp