add class_tpl.hpp