implement delete method