Add Variant template class