correct not operation
implement safe_delete