superassignment operator