updated template and header files.