first version of comma op
first version of comma op2