necessary deletion