diff --git a/config/install/user_name_validation.usernamevalidationconfig.yml b/config/install/user_name_validation.usernamevalidationconfig.yml
new file mode 100644
index 0000000..495f69b
--- /dev/null
+++ b/config/install/user_name_validation.usernamevalidationconfig.yml
@@ -0,0 +1 @@
+user_name_validation:
diff --git a/src/Form/UserNameValidationConfig.php b/src/Form/UserNameValidationConfig.php
new file mode 100644
index 0000000..3355eb6
--- /dev/null
+++ b/src/Form/UserNameValidationConfig.php
@@ -0,0 +1,86 @@
+<?php
+
+namespace Drupal\user_name_validation\Form;
+
+use Drupal\Core\Form\ConfigFormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Class UserNameValidationConfig.
+ *
+ * @package Drupal\user_name_validation\Form
+ */
+class UserNameValidationConfig extends ConfigFormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getEditableConfigNames() {
+    return [
+      'user_name_validation.usernamevalidationconfig',
+    ];
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getFormId() {
+    return 'user_name_validation_config';
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildForm(array $form, FormStateInterface $form_state) {
+    $config = $this->config('user_name_validation.usernamevalidationconfig');
+    $form['username_characters'] = [
+      '#type' => 'textarea',
+      '#title' => $this->t('Text area to hold - blocking words, special allowed characters '),
+      // '#description' => $this->t('Text area to hold - blocking words, special allowed characters'),
+      '#default_value' => $config->get('username_characters'),
+    ];
+    $form['username_ajax_validation'] = [
+      '#type' => 'checkbox',
+      '#title' => $this->t('Username Ajax Validation'),
+      '#description' => $this->t('Check box - Enable/Disable ajax validation'),
+      '#default_value' => $config->get('username_ajax_validation'),
+    ];
+    $form['validation_message'] = [
+      '#type' => 'textfield',
+      '#title' => $this->t('Validation Message'),
+      '#maxlength' => 64,
+      '#size' => 64,
+      '#default_value' => $config->get('validation_message'),
+    ];
+    $form['ajax_validation_message'] = [
+      '#type' => 'textfield',
+      '#title' => $this->t('Ajax Validation Message'),
+      '#maxlength' => 64,
+      '#size' => 64,
+      '#default_value' => $config->get('ajax_validation_message'),
+    ];
+    return parent::buildForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function validateForm(array &$form, FormStateInterface $form_state) {
+    parent::validateForm($form, $form_state);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    parent::submitForm($form, $form_state);
+
+    $this->config('user_name_validation.usernamevalidationconfig')
+      ->set('username_characters', $form_state->getValue('username_characters'))
+      ->set('username_ajax_validation', $form_state->getValue('username_ajax_validation'))
+      ->set('validation_message', $form_state->getValue('validation_message'))
+      ->set('ajax_validation_message', $form_state->getValue('ajax_validation_message'))
+      ->save();
+  }
+
+}
diff --git a/user_name_validation.links.menu.yml b/user_name_validation.links.menu.yml
new file mode 100644
index 0000000..b13f363
--- /dev/null
+++ b/user_name_validation.links.menu.yml
@@ -0,0 +1,7 @@
+user_name_validation.user_name_validation_config:
+  title: 'User Name Validation Configurations.'
+  route_name: user_name_validation.user_name_validation_config
+  description: 'User name validatiob configurations.'
+  parent: system.admin_config_system
+  weight: 99
+
diff --git a/user_name_validation.module b/user_name_validation.module
index 96e0b71..507fd28 100644
--- a/user_name_validation.module
+++ b/user_name_validation.module
@@ -5,7 +5,6 @@
  *
  */
 function user_name_validation_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
-  drupal_set_message($form_id);
   if ($form_id == 'user_profile_form' || $form_id == 'user_register_form') {
     $form['#validate'][] = 'user_name_validation_username_validate';
     $form['account']['name']['#title'] = 'Krishna Kanth';
diff --git a/user_name_validation.routing.yml b/user_name_validation.routing.yml
new file mode 100644
index 0000000..1ca8793
--- /dev/null
+++ b/user_name_validation.routing.yml
@@ -0,0 +1,11 @@
+
+user_name_validation.user_name_validation_config:
+  path: '/admin/config/user-name-validation'
+  defaults:
+    _form: '\Drupal\user_name_validation\Form\UserNameValidationConfig'
+    _title: 'User Name Validation Configuration'
+  requirements:
+    _permission: 'access administration pages'
+  options:
+    _admin_route: TRUE
+
