changed the binop visitor