modified move assignment operator