add operator = implementation