switched template class by a switch:case and a more flexible Operand class (see main.cpp)