redo binary operator defn