diff --git a/src/Form/CLUListingUsers.php b/src/Form/CLUListingUsers.php
index 137d9a0..9757bf4 100644
--- a/src/Form/CLUListingUsers.php
+++ b/src/Form/CLUListingUsers.php
@@ -27,7 +27,16 @@ class CLUListingUsers extends FormBase {
    * {@inheritdoc}
    */
   public function buildForm(array $form, FormStateInterface $form_state) {
+    $search_value = $form_state->getValues();
     $user = \Drupal::currentUser();
+    $form['search_user'] = array(
+      '#type' => 'textfield',
+      '#title' => 'Username',
+    );
+    $form['search_submit'] = array(
+      '#type' => 'submit',
+      '#value' => 'Search',
+    );
     $header = [
       'user_id' => t('USER ID'),
       'user_name' => t('USERNAME'),
@@ -35,14 +44,18 @@ class CLUListingUsers extends FormBase {
       'hostname' => t('hostname'),
       'action' => t('OPERATIONS'),
     ];
+    $search_uname = $search_value['search_user'];
     $query = \Drupal::database()->select('sessions', 's');
     $query->join('users_field_data', 'u', 's.uid = u.uid');
-    $query->fields('u', array('uid'))
-      ->fields('u', array('name'))
-      ->fields('s', array('timestamp'))
-      ->fields('s', array('hostname'));
+    $query->fields('u', array('uid'));
+    $query->fields('u', array('name'));
+    $query->fields('s', array('timestamp'));
+    $query->fields('s', array('hostname'));
     $query->orderBy('uid', 'DESC');
     $query->distinct();
+    if (isset($search_uname) && !empty($search_uname)) {
+      $query->condition('u.name', db_like($search_uname) . '%', 'LIKE');
+    }
     $results = $query->execute()->fetchAll();
     $output = '';
     foreach ($results as $result) {
@@ -86,8 +99,11 @@ class CLUListingUsers extends FormBase {
    */
   public function validateForm(array &$form, FormStateInterface $form_state) {
     $value_checked = $form_state->getCompleteForm()['table']['#value'];
-    if (empty($value_checked)){
-      $form_state->setErrorByName('clu_table', $this->t('Please select atleast one user to terminate the session.'));
+    $submit_value = $form_state->getValues()[op];
+    if ($submit_value == 'End sessions') {
+      if (empty($value_checked)) {
+        $form_state->setErrorByName('clu_table', $this->t('Please select atleast one user to terminate the session.'));
+      }
     }
   }
 
@@ -95,18 +111,22 @@ class CLUListingUsers extends FormBase {
    * {@inheritdoc}
    */
   public function submitForm(array &$form, FormStateInterface $form_state) {
-    $current_user = \Drupal::currentUser();
-    $uids = $form_state->getValues()['table'];
-    foreach ($uids as $delete_session_uid) {
-      $user = user_load($delete_session_uid);
-      if ($current_user->id() != $delete_session_uid && $delete_session_uid != 0) {
-        db_delete('sessions')
-          ->condition('uid', $delete_session_uid)
-          ->execute();
-        drupal_set_message(t('@username ( @userid ) user session has been ended.', [
-          '@username' => $user->getAccountName(),
-          '@userid' => $user->id(),
-        ]));
+    $form_state->setRebuild(TRUE);
+    $submit_value = $form_state->getValues()[op];
+    if ($submit_value == 'End sessions') {
+      $current_user = \Drupal::currentUser();
+      $uids = $form_state->getValues()['table'];
+      foreach ($uids as $delete_session_uid) {
+        $user = user_load($delete_session_uid);
+        if ($current_user->id() != $delete_session_uid && $delete_session_uid != 0) {
+          db_delete('sessions')
+              ->condition('uid', $delete_session_uid)
+              ->execute();
+          drupal_set_message(t('@username ( @userid ) user session has been ended.', [
+            '@username' => $user->getAccountName(),
+            '@userid' => $user->id(),
+          ]));
+        }
       }
     }
   }
