diff --git a/sharemessage.links.action.yml b/sharemessage.links.action.yml
index 68f224c..6fb1bad 100644
--- a/sharemessage.links.action.yml
+++ b/sharemessage.links.action.yml
@@ -2,4 +2,4 @@ sharemessage_add:
   route_name: sharemessage.sharemessage_add
   title: 'Add ShareMessage'
   appears_on:
-    - sharemessage.sharemessage_list
+    - entity.sharemessage.collection
diff --git a/sharemessage.links.menu.yml b/sharemessage.links.menu.yml
index 1b04c3f..2da0323 100644
--- a/sharemessage.links.menu.yml
+++ b/sharemessage.links.menu.yml
@@ -1,5 +1,5 @@
 sharemessage.list:
   title: Share messages
   description: 'Manage share messages.'
-  route_name: sharemessage.sharemessage_list
+  route_name: entity.sharemessage.collection
   parent: system.admin_config_services
diff --git a/sharemessage.links.task.yml b/sharemessage.links.task.yml
index 22d9ba4..d376606 100644
--- a/sharemessage.links.task.yml
+++ b/sharemessage.links.task.yml
@@ -1,9 +1,9 @@
 sharemessage.sharemessage_list:
-  route_name: sharemessage.sharemessage_list
-  base_route: sharemessage.sharemessage_list
+  route_name: entity.sharemessage.collection
+  base_route: entity.sharemessage.collection
   title: 'List'
   weight: -10
 sharemessage.settings:
   route_name: sharemessage.settings
-  base_route: sharemessage.sharemessage_list
+  base_route: entity.sharemessage.collection
   title: 'Settings'
diff --git a/sharemessage.routing.yml b/sharemessage.routing.yml
index 1484604..f12ae05 100644
--- a/sharemessage.routing.yml
+++ b/sharemessage.routing.yml
@@ -22,7 +22,7 @@ entity.sharemessage.edit_form:
   requirements:
     _entity_access: sharemessage.update
 
-sharemessage.sharemessage_list:
+entity.sharemessage.collection:
   path: '/admin/config/services/sharemessage'
   defaults:
     _title: 'Share message list'
diff --git a/src/Entity/ShareMessage.php b/src/Entity/ShareMessage.php
index 26dd572..2b81201 100644
--- a/src/Entity/ShareMessage.php
+++ b/src/Entity/ShareMessage.php
@@ -22,7 +22,7 @@ use Drupal\Core\Url;
  *     "form" = {
  *       "add" = "Drupal\sharemessage\Form\ShareMessageForm",
  *       "edit" = "Drupal\sharemessage\Form\ShareMessageForm",
- *       "delete" = "Drupal\sharemessage\Form\ShareMessageDeleteForm"
+ *       "delete" = "Drupal\Core\Entity\EntityDeleteForm"
  *     }
  *   },
  *   entity_keys = {
@@ -44,7 +44,8 @@ use Drupal\Core\Url;
  *   },
  *   links = {
  *     "edit-form" = "/admin/config/services/sharemessage/manage/{sharemessage}",
- *     "delete-form" = "/admin/config/services/sharemessage/manage/{sharemessage}/delete"
+ *     "delete-form" = "/admin/config/services/sharemessage/manage/{sharemessage}/delete",
+ *     "collection" = "/admin/config/services/sharemessage",
  *   }
  * )
  */
diff --git a/src/Form/ShareMessageDeleteForm.php b/src/Form/ShareMessageDeleteForm.php
deleted file mode 100644
index 8ecc282..0000000
--- a/src/Form/ShareMessageDeleteForm.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/**
- * @file
- * Definition of \Drupal\sharemessage\Entity\Controller\ShareMessageFormController.
- */
-
-namespace Drupal\sharemessage\Form;
-
-use Drupal\Core\Entity\EntityConfirmFormBase;
-use Drupal\Core\Form\FormStateInterface;
-use Drupal\Core\Url;
-
-/**
- * Builds the form to delete a ShareMessage config entity.
- */
-class ShareMessageDeleteForm extends EntityConfirmFormBase {
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getQuestion() {
-    return t('Are you sure you want to delete %name?', array('%name' => $this->entity->label()));
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getCancelUrl() {
-    return new Url('sharemessage.sharemessage_list');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getConfirmText() {
-    return t('Delete');
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function submitForm(array &$form, FormStateInterface $form_state) {
-    $this->entity->delete();
-    drupal_set_message(t('ShareMessage %label has been deleted.', array('%label' => $this->entity->label())));
-    \Drupal::logger('sharemessage')->notice('ShareMessage %label has been deleted.', array('%label' => $this->entity->label()));
-    $form_state->setRedirect('sharemessage.sharemessage_list');
-  }
-
-}
diff --git a/src/Form/ShareMessageForm.php b/src/Form/ShareMessageForm.php
index 02032c8..7609335 100644
--- a/src/Form/ShareMessageForm.php
+++ b/src/Form/ShareMessageForm.php
@@ -265,7 +265,7 @@ class ShareMessageForm extends EntityForm {
       drupal_set_message(t('ShareMessage %label has been added.', array('%label' => $sharemessage->label())));
       \Drupal::logger('sharemessage')->notice('ShareMessage %label has been added.', array('%label' => $sharemessage->label(), 'link' => $sharemessage->link($this->t('Edit'), 'edit-form')));
     }
-    $form_state->setRedirect('sharemessage.sharemessage_list');
+    $form_state->setRedirect('entity.sharemessage.collection');
   }
 
 }
diff --git a/src/Tests/ShareMessageSettingsTest.php b/src/Tests/ShareMessageSettingsTest.php
index 85e9be3..654d03a 100644
--- a/src/Tests/ShareMessageSettingsTest.php
+++ b/src/Tests/ShareMessageSettingsTest.php
@@ -111,14 +111,14 @@ class ShareMessageSettingsTest extends ShareMessageTestBase {
 
     // Click delete link on admin ui.
     $this->clickLink('Delete');
-    $this->assertText(t('Are you sure you want to delete @label?', ['@label' => $sharemessage['label']]));
+    $this->assertText(t('Are you sure you want to delete the share message @label?', ['@label' => $sharemessage['label']]));
 
     // Check if cancel button is present or not.
     $this->assertLink('Cancel');
 
     // Delete the share message.
     $this->drupalPostForm(NULL, [], t('Delete'));
-    $this->assertText(t('ShareMessage @label has been deleted.', ['@label' => $sharemessage['label']]));
+    $this->assertText(t('The share message @label has been deleted.', ['@label' => $sharemessage['label']]));
 
     // Check if removed from listing page as well.
     $this->drupalGet('admin/config/services/sharemessage');
