added template class