add move constructor and move assignment operator