change delete method visibility to protected