fully working with delete