delete method is idempotent