delete functionality implemented