destroy can be done before splice