reorganize binary op