works with delete,find