template class coming together, though still in early stages.