implemented deletion