operator= by ref