ToDo: overload product operator, must run over all the elements, how?