replaced copy assignment with move assignment