added delete op
merged with master