template class implemented in h file