enhanced delete method