refactor destroy