reconstruct delete function