added template class
changes