minor bug in assignment operator