move and destroy on assignment