Add c++ templates