diff --git a/indic_script.module b/indic_script.module
index 182940e..2215ca9 100755
--- a/indic_script.module
+++ b/indic_script.module
@@ -23,7 +23,7 @@ function indic_script_element_info_alter(&$types) {
   $types['textfield']['#pre_render'][] = 'indic_script_process_text_format';
   $types['text_format']['#pre_render'][] = 'indic_script_process_text_format';
   $types['textarea']['#pre_render'][] = 'indic_script_process_text_format';
-  $types['search']['#process'][] = 'indic_script_process_text_format'; 
+  $types['search']['#process'][] = 'indic_script_process_text_format';
 }
 
 
@@ -35,38 +35,18 @@ function indic_script_element_info_alter(&$types) {
  * @return
  *   The same $element with extra indic_script markup and initialization.
  */
-function indic_script_process_text_format($element) {  
+function indic_script_process_text_format($element) {
 
   // Skip disabled text fields.
   if (isset($element['#attributes']['disabled']) && $element['#attributes']['disabled'] == 'disabled') {
     return $element;
   }
-  
-  // Disable for these elements.
-  // TODO: move this to admin configure form?
-  switch ($element['#id']) {
-    case 'edit-excl-list':
-    case 'edit-simple-incl-list':
-    case 'edit-simple-incl-paths':
-    case 'edit-simple-incl-fields':
-    case 'edit-excl-fields':
-    case 'edit-excl-paths':
-    case 'edit-js-conf':
-    case 'indic_script_excl_fields':
-    case 'edit-pass':
-    case 'edit-openid-identifier':
-    case 'edit-mail':
-    case 'edit-captcha':
-      return $element;
-      break;
-  }
 
-  if(!_indic_script_element_check($element['#id'])) {
-    return $element;
+  $element_id = isset($element['#id']) ? $element['#id'] : '';
+  if (_indic_script_element_check($element_id)) {
+    // Add the kanni-enabled class so kanni will bind the key events.
+    $element['#attributes']['class'][]  = 'kanni-enabled';
   }
-  
-  // Add the kanni-enabled class so kanni will bind the key events.
-  $element['#attributes']['class'][]  = 'kanni-enabled';
 
   return $element;
 }
@@ -76,7 +56,7 @@ function indic_script_page_attachments_alter(array &$page) {
   if ((!_indic_script_path_check())) {
     return;
   }
-  
+
   $page['#attached']['library'][] = 'indic_script/drupal.indic_script';
 
   $langs = indic_script_get_languages('lang');
@@ -169,12 +149,12 @@ function indic_script_page_attachments_alter(array &$page) {
         case 'te_tw':
           $page['#attached']['library'][] = 'indic_script/drupal.indic_script.te_tw';
         break;
-      }	 
-    } 
+      }
+    }
   }
   // Conditionally attach an asset to the page.
 	if(!empty($enabled)) {
-    $page['#attached']['drupalSettings']['kanniConfig']['enabledLanguages'] = $enabled;	
+    $page['#attached']['drupalSettings']['kanniConfig']['enabledLanguages'] = $enabled;
 	}
 
 }
@@ -184,9 +164,9 @@ function indic_script_page_attachments_alter(array &$page) {
  * @return
  *   elect_form
  */
- 
+
 function indic_script_type_method_form() {
-  static $options;	
+  static $options;
   if (!$options) {
     $langs = indic_script_get_languages('lang');
     $enabled_langs = \Drupal::config('indic_script.settings')->get('indic_script_langs');
@@ -199,11 +179,11 @@ function indic_script_type_method_form() {
   }
 
   $cook_lang = 'en';
-  
+
   if(isset($_COOKIE['kanni_user_lang']) && $_COOKIE['kanni_user_lang'] && isset($options[$cook_lang])) {
     $cook_lang = $_COOKIE['kanni_user_lang'];
   }
-  
+
   $form['indic_script_typein'] = array(
     '#type' => 'select',
     '#title' => t('Type in (F9)'),
@@ -214,14 +194,14 @@ function indic_script_type_method_form() {
       'onchange' => 'Kanni.change_lang(this);'
     ),
   );
-  
+
   $form['indic_script_show_tips'] = array(
     '#type' => 'checkbox',
     '#title' => t('Show Tips?'),
     '#default_value' => TRUE,
   );
-  
-  return $form;  
+
+  return $form;
 }
 
 /**
@@ -231,7 +211,7 @@ function indic_script_type_method_form() {
 function _indic_script_path_check() {
 
   static $visible;
-  
+
   if (isset($visible) && $visible !='') {
     return $visible;
   }
@@ -239,12 +219,12 @@ function _indic_script_path_check() {
   $excl_mode = \Drupal::config('indic_script.settings')->get('indic_script_page_excl_mode');
 
   $excl_paths = \Drupal::config('indic_script.settings')->get('indic_script_excl_paths');
- 
+
   if ($excl_mode < 2) {
-    $path = \Drupal::service('path.current')->getPath(); 
-    //Compare with the internal and path alias (if any).	
-		$page_match = \Drupal::service('path.matcher')->matchPath($path,$excl_paths);	
-    		
+    $path = \Drupal::service('path.current')->getPath();
+    //Compare with the internal and path alias (if any).
+		$page_match = \Drupal::service('path.matcher')->matchPath($path,$excl_paths);
+
     if ($excl_mode == 1 && $page_match) {
       $visible = TRUE;
     }
@@ -275,9 +255,6 @@ function _indic_script_element_check($element_id) {
 
   static $excl_mode, $excl_fields, $excl_paths;
 
-  if(!isset($excl_mode)) {
-    $excl_mode = \Drupal::config('indic_script.settings')->get('indic_script_excl_mode'); //if not default 0
-  }
   if(!isset($excl_fields)) {
     $excl_fields = \Drupal::config('indic_script.settings')->get('indic_script_excl_fields');
   }
@@ -289,9 +266,7 @@ function _indic_script_element_check($element_id) {
 
   $field_found = _indic_script_element_id_check($element_id, $arr_excl_fields);
 
-  $result =  ($excl_mode == 1) ? $field_found : !$field_found;
-
-  return $result;
+  return !$field_found;
 
 }
 
@@ -319,7 +294,7 @@ function indic_script_get_languages($op) {
   switch($op) {
     case 'lang':
       $lang[] = array(
-			  'lang_name' => 'tamil',	
+			  'lang_name' => 'tamil',
 	      'lang' 	=> 'ta',
 	      'method' 	=> 'ta_en',
 	      'title' => 'Tamil Thanglish',
@@ -349,7 +324,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Malayalam Phonetic',
 	      'js' => $path . '/kanni/lang/' . 'malayalam.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'malayalam',
 	      'lang' 	=> 'ma',
@@ -357,7 +332,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Malayalam TypeWriter',
 	      'js' => $path . '/kanni/lang/' . 'malayalam.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'hindi',
 	      'lang' 	=> 'hi',
@@ -365,7 +340,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Hindi Phonetic',
 	      'js' => $path . '/kanni/lang/' . 'hindi.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'hindi',
 	      'lang' 	=> 'hi',
@@ -373,7 +348,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Hindi TypeWriter',
 	      'js' => $path . '/kanni/lang/' . 'hindi.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'hindi',
 	      'lang' 	=> 'hi',
@@ -381,7 +356,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Hindi Remington TypeWriter',
 	      'js' => $path . '/kanni/lang/' . 'hindi.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'bengali',
 	      'lang' 	=> 'be',
@@ -397,7 +372,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Bengali unijoy',
 	      'js' => $path . '/kanni/lang/' . 'bengali.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'bengali',
 	      'lang' 	=> 'be',
@@ -405,7 +380,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Bengali TypeWriter',
 	      'js' => $path . '/kanni/lang/' . 'bengali.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'gujarati',
 	      'lang' 	=> 'gu',
@@ -413,7 +388,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Gujarati Phonetic',
 	      'js' => $path . '/kanni/lang/' . 'gujarati.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'gujarati',
 	      'lang' 	=> 'gu',
@@ -421,7 +396,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Gujarati TypeWriter',
 	      'js' => $path . '/kanni/lang/' . 'gujarati.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'kannada',
 	      'lang' 	=> 'ka',
@@ -469,7 +444,7 @@ function indic_script_get_languages($op) {
 	      'title' => 'Punjabi TypeWriter',
 	      'js' => $path . '/kanni/lang/' . 'punjabi.js',
       );
-			
+
       $lang[] = array(
 			  'lang_name' => 'telugu',
 	      'lang' 	=> 'te',
diff --git a/js/indic_script.js b/js/indic_script.js
old mode 100644
new mode 100755
index c1eaf59..ee85716
--- a/js/indic_script.js
+++ b/js/indic_script.js
@@ -2,15 +2,13 @@
 
   Drupal.behaviors.indic_script = {
     attach: function(context, settings) {
-    enabledLanguages = settings.enabledLanguages;
-    kanniConfig = settings.kanniConfig;
-      $('.kanni-enabled').once(function(){
-        $(this).each(function(){
-          var node = $(this)[0]; // first element
-          Kanni.enableNode(node);
-        });
+      enabledLanguages = settings.enabledLanguages;
+      kanniConfig = settings.kanniConfig;
+      $('.kanni-enabled').once('kanniEnabled').each(function() {
+        var node = $(this)[0]; // first element
+        Kanni.enableNode(node);
       });
     }
   };
 
-})(jQuery);
\ No newline at end of file
+})(jQuery);
diff --git a/kanni/kanni.js b/kanni/kanni.js
index 8b6de79..1d3d224 100755
--- a/kanni/kanni.js
+++ b/kanni/kanni.js
@@ -45,7 +45,7 @@
       'ignoreevents'    : false,  // rarely, ignore events to speedup.
       'attachlangswitch': true,   //
       'attachkeyevents' : true,   //
-      'attachclasses'   : '*',      // *, kanni-enabled
+      'attachclasses'   : 'kanni-enabled',      // *, kanni-enabled
       'hidelangswitch'  : true
       //'langswitchdiv'   : 'langswitchdiv'
     };
@@ -63,7 +63,7 @@
     if (typeof kanniConfig == 'undefined') {
       kanniConfig = {};
     }
-    
+
     for(var conf in kanniConfig) {
       Kanni[conf] = kanniConfig[conf];
     }
@@ -817,7 +817,7 @@
 
     var options = '<option value="en|en">English</option>';
     var enabled_lans = this.languages;
-    
+
     if ('enabledLanguages' in this) {
       enabled_lans = this.enabledLanguages;
     }
@@ -1141,4 +1141,4 @@
   });
 
 
-})();
\ No newline at end of file
+})();
diff --git a/src/IndicscriptSettingsForm.php b/src/IndicscriptSettingsForm.php
old mode 100644
new mode 100755
index b55de38..33e7197
--- a/src/IndicscriptSettingsForm.php
+++ b/src/IndicscriptSettingsForm.php
@@ -13,14 +13,14 @@ use Drupal\Core\Form\FormStateInterface;
  * Configure hello settings for this site.
  */
 class IndicscriptSettingsForm extends ConfigFormBase {
-  /** 
+  /**
    * {@inheritdoc}
    */
   public function getFormId() {
     return 'indic_script_admin_settings';
   }
 
-  /** 
+  /**
    * {@inheritdoc}
    */
   protected function getEditableConfigNames() {
@@ -29,16 +29,16 @@ class IndicscriptSettingsForm extends ConfigFormBase {
     ];
   }
 
-  /** 
+  /**
    * {@inheritdoc}
    */
   public function buildForm(array $form, FormStateInterface $form_state) {
     $config = $this->config('indic_script.settings');
     $form_fields = indic_script_get_languages('lang');
-  
+
     $options['en'] = t('English');
     $options = array();
-    foreach ($form_fields as $field) {  
+    foreach ($form_fields as $field) {
       $options[$field['method']] = $field['title'];
     }
 
@@ -57,7 +57,7 @@ class IndicscriptSettingsForm extends ConfigFormBase {
       '#collapsible' => TRUE,
       '#collapsed' => FALSE,
     );
-  
+
    $form['indic_script_settings']['indic_script_page_excl_mode'] = array(
      '#type' => 'radios',
      '#title' => t('Page inclusion or exclusion mode'),
@@ -80,14 +80,6 @@ class IndicscriptSettingsForm extends ConfigFormBase {
     '#description' => t("Enter one page per line as Drupal paths start with /. The '*' character is a wildcard. Example paths are blog for the blog page and blog/* for every personal blog. <front> is the front page."),
   );
 
-  $form['indic_script_settings']['indic_script_excl_mode'] = array(
-    '#type' => 'select',
-    '#title' => t('Use inclusion or exclusion mode'),
-    '#default_value' => $config->get('indic_script_excl_mode'),
-    '#options' => array('0' => t('exclude'), '1' => t('include')),
-    '#description' => t('Choose the way of disabling/enabling Indic Script on selected fields/paths (see below). Use exclude to disable Indic Script on selected fields/paths. Use include if you want to load Indic Script only on selected paths/fields.'),
-  );
-
   /**
    * get excluded fields - so we can have normal textareas too
    * split the phrase by any number of commas or space characters,
@@ -95,11 +87,11 @@ class IndicscriptSettingsForm extends ConfigFormBase {
    */
   $form['indic_script_settings']['indic_script_excl_fields'] = array(
     '#type' => 'textarea',
-    '#title' => t('Fields to exclude/include'),
+    '#title' => t('Fields to exclude'),
     '#cols' => 60,
     '#rows' => 5,
     '#default_value' => $config->get('indic_script_excl_fields'),
-    '#description' => t("Enter names (HTML ID's) of fields that may or may not have an Indic Script, depending on the chosen option for the inclusion/exclusion mode.<br />You may separate the different entries by commas, spaces or newlines."),
+    '#description' => t("Enter names (HTML ID's) of fields that may not have an Indic Script.<br />You may separate the different entries by commas, spaces or newlines."),
   );
 
   // demo page switch
@@ -110,11 +102,11 @@ class IndicscriptSettingsForm extends ConfigFormBase {
     '#default_value' => $config->get('indic_script_enable_demo'),
     '#description' => t("If checked, the new page will be available at path tamil_type."),
   );
-    
+
   return parent::buildForm($form, $form_state);
 }
 
-  /** 
+  /**
    * {@inheritdoc}
    */
   public function submitForm(array &$form, FormStateInterface $form_state) {
