implemented delete operation