move to in-place