diff --git a/config/extlink.settings.yml b/config/extlink.settings.yml
index 2ffbe71..7640d8e 100644
--- a/config/extlink.settings.yml
+++ b/config/extlink.settings.yml
@@ -4,5 +4,12 @@ extlink_alert: 0
 extlink_alert_text: 'This link will take you to an external web site. We are not responsible for their content.'
 extlink_exclude: ''
 extlink_include: ''
+extlink_icon: 1
 extlink_class: 'ext'
+extlink_label: '(link is external)'
+extlink_img_class: 0
+extlink_css_exclude: ''
+extlink_css_explicit: ''
+extlink_mailto_icon: 1
 extlink_mailto_class: 'mailto'
+extlink_mailto_label: '(link sends e-mail)'
diff --git a/config/schema/extlink.schema.yml b/config/schema/extlink.schema.yml
index 6e6c8c3..1372300 100644
--- a/config/schema/extlink.schema.yml
+++ b/config/schema/extlink.schema.yml
@@ -22,9 +22,15 @@ extlink.settings:
     extlink_include:
       type: string
       label: 'Include links matching the pattern'
+    extlink_icon:
+      type: boolean
+      label: 'Add icon to external links'
     extlink_class:
       type: string
-      label: 'Add icon to external links'
+      label: 'Icon class to add to external links, if add icon to external links is enabled'
+    extlink_label:
+      type: string
+      label: 'Invisible label to add to external links icon (.visually-hidden)'
     extlink_img_class:
       type: boolean
       label: 'Treat images wrapped in an anchor tag as external links'
@@ -34,6 +40,12 @@ extlink.settings:
     extlink_css_explicit:
       type: string
       label: 'Comma-separated list of CSS selectors to include'
+    extlink_mailto_icon:
+      type: boolean
+      label: 'Add icon to mailto links'
     extlink_mailto_class:
       type: string
-      label: 'Add icon to mailto links'
+      label: 'Icon class to add to mailto links, if add icon to mail is enabled'
+    extlink_mailto_label:
+      type: string
+      label: 'Invisible label to add to mailto links icon (.visually-hidden)'
diff --git a/extlink.css b/extlink.css
index 9082064..eaa2035 100644
--- a/extlink.css
+++ b/extlink.css
@@ -13,6 +13,8 @@ span.mailto {
   text-decoration: none;
 }
 
+/*#appFooter .externals a::after*/
+
 /* Hide the extra spans when printing. */
 @media print {
   span.ext,
diff --git a/extlink.install b/extlink.install
index 63fc6b0..47a031d 100644
--- a/extlink.install
+++ b/extlink.install
@@ -21,3 +21,23 @@ function extlink_install() {
       ['@extlink_admin' => $url->toString()]), 'status');
   }
 }
+
+/**
+ * Configure new settings vars and fix old mis-typed vars.
+ */
+function extlink_update_8001() {
+
+  $config = \Drupal::config('extlink.settings');
+
+  \Drupal::configFactory()->getEditable('extlink.settings')
+    ->set('extlink_target', ($config->get('extlink_target') === '_blank'))
+    ->set('extlink_alert', ($config->get('extlink_alert') === '_blank'))
+    ->set('extlink_icon', ($config->get('extlink_class') === 'ext'))
+    ->set('extlink_class', 'ext')
+    ->set('extlink_mailto_icon', ($config->get('extlink_class') === 'mailto'))
+    ->set('extlink_mailto_class', 'mailto')
+    ->set('extlink_label', '(link is external)')
+    ->set('extlink_mailto_label', '(link sends e-mail)')
+    ->save();
+
+}
diff --git a/extlink.js b/extlink.js
index 25763ff..89c0355 100644
--- a/extlink.js
+++ b/extlink.js
@@ -65,44 +65,58 @@
     // available in jQuery 1.0 (Drupal 5 default).
     var external_links = [];
     var mailto_links = [];
-    $('a:not(.' + drupalSettings.data.extlink.extClass + ', .' + drupalSettings.data.extlink.mailtoClass + '), area:not(.' + drupalSettings.data.extlink.extClass + ', .' + drupalSettings.data.extlink.mailtoClass + ')', context).each(function (el) {
-      try {
-        var url = '';
-        if (typeof this.href == 'string') {
-          url = this.href.toLowerCase();
-        }
-        // Handle SVG links (xlink:href).
-        else if (typeof this.href == 'object') {
-          url = this.href.baseVal;
-        }
-        if (url.indexOf('http') === 0
-          && ((!url.match(internal_link) && !(extExclude && url.match(extExclude))) || (extInclude && url.match(extInclude)))
-          && !(extCssExclude && $(this).parents(extCssExclude).length > 0)
-          && !(extCssExplicit && $(this).parents(extCssExplicit).length < 1)) {
-          external_links.push(this);
+
+    var icon_not_class = '';
+    if (drupalSettings.data.extlink.extIcon && drupalSettings.data.extlink.extClass) {
+      icon_not_class += '.' + drupalSettings.data.extlink.extClass
+    }
+    if (drupalSettings.data.extlink.mailtoIcon && drupalSettings.data.extlink.mailtoClass) {
+      if (icon_not_class) {
+        icon_not_class += ', ';
+      }
+      icon_not_class += '.' + drupalSettings.data.extlink.mailtoClass
+    }
+
+    if (icon_not_class) {
+      $('a:not(' + icon_not_class + '), area:not(' + icon_not_class + ')', context).each(function (el) {
+        try {
+          var url = '';
+          if (typeof this.href == 'string') {
+            url = this.href.toLowerCase();
+          }
+          // Handle SVG links (xlink:href).
+          else if (typeof this.href == 'object') {
+            url = this.href.baseVal;
+          }
+          if (url.indexOf('http') === 0
+            && ((!url.match(internal_link) && !(extExclude && url.match(extExclude))) || (extInclude && url.match(extInclude)))
+            && !(extCssExclude && $(this).parents(extCssExclude).length > 0)
+            && !(extCssExplicit && $(this).parents(extCssExplicit).length < 1)) {
+            external_links.push(this);
+          }
+          // Do not include area tags with begin with mailto: (this prohibits
+          // icons from being added to image-maps).
+          else if (this.tagName !== 'AREA'
+            && url.indexOf('mailto:') === 0
+            && !(extCssExclude && $(this).parents(extCssExclude).length > 0)
+            && !(extCssExplicit && $(this).parents(extCssExplicit).length < 1)) {
+            mailto_links.push(this);
+          }
         }
-        // Do not include area tags with begin with mailto: (this prohibits
-        // icons from being added to image-maps).
-        else if (this.tagName !== 'AREA'
-          && url.indexOf('mailto:') === 0
-          && !(extCssExclude && $(this).parents(extCssExclude).length > 0)
-          && !(extCssExplicit && $(this).parents(extCssExplicit).length < 1)) {
-          mailto_links.push(this);
+          // IE7 throws errors often when dealing with irregular links, such as:
+          // <a href="node/10"></a> Empty tags.
+          // <a href="http://user:pass@example.com">example</a> User:pass syntax.
+        catch (error) {
+          return false;
         }
-      }
-        // IE7 throws errors often when dealing with irregular links, such as:
-        // <a href="node/10"></a> Empty tags.
-        // <a href="http://user:pass@example.com">example</a> User:pass syntax.
-      catch (error) {
-        return false;
-      }
-    });
+      });
+    }
 
-    if (drupalSettings.data.extlink.extClass) {
+    if (drupalSettings.data.extlink.extIcon && drupalSettings.data.extlink.extClass) {
       Drupal.extlink.applyClassAndSpan(external_links, drupalSettings.data.extlink.extClass);
     }
 
-    if (drupalSettings.data.extlink.mailtoClass) {
+    if (drupalSettings.data.extlink.mailtoIcon && drupalSettings.data.extlink.mailtoClass) {
       Drupal.extlink.applyClassAndSpan(mailto_links, drupalSettings.data.extlink.mailtoClass);
     }
 
@@ -175,10 +189,10 @@
       var $link = $($links_to_process[i]);
       if ($link.css('display') === 'inline' || $link.css('display') === 'inline-block') {
         if (class_name === drupalSettings.data.extlink.mailtoClass) {
-          $link.append('<span class="' + class_name + '"><span class="element-invisible"> ' + drupalSettings.data.extlink.mailtoLabel + '</span></span>');
+          $link.append('<span class="' + class_name + '"><span class="visually-hidden"> ' + drupalSettings.data.extlink.mailtoLabel + '</span></span>');
         }
         else {
-          $link.append('<span class="' + class_name + '"><span class="element-invisible"> ' + drupalSettings.data.extlink.extLabel + '</span></span>');
+          $link.append('<span class="' + class_name + '"><span class="visually-hidden"> ' + drupalSettings.data.extlink.extLabel + '</span></span>');
         }
       }
     }
diff --git a/extlink.min.js b/extlink.min.js
index c4d7aea..bea42ab 100644
--- a/extlink.min.js
+++ b/extlink.min.js
@@ -1 +1 @@
-!function(t,a,e){"use strict";a.extlink=a.extlink||{},a.extlink.attach=function(e,n){if(n.data.hasOwnProperty("extlink")){var l,i=/^(([^\/:]+?\.)*)([^\.:]{4,})((\.[a-z]{1,4})*)(:[0-9]{1,5})?$/,s=window.location.host.replace(i,"$3$4"),x=window.location.host.replace(i,"$1");l=n.data.extlink.extSubdomains?"([^/]*\\.)?":"www."===x||""===x?"(www\\.)?":x.replace(".","\\.");var p=new RegExp("^https?://"+l+s,"i"),d=!1;n.data.extlink.extInclude&&(d=new RegExp(n.data.extlink.extInclude.replace(/\\/,"\\"),"i"));var r=!1;n.data.extlink.extExclude&&(r=new RegExp(n.data.extlink.extExclude.replace(/\\/,"\\"),"i"));var k=!1;n.data.extlink.extCssExclude&&(k=n.data.extlink.extCssExclude);var c=!1;n.data.extlink.extCssExplicit&&(c=n.data.extlink.extCssExplicit);var o=[],h=[];t("a:not(."+n.data.extlink.extClass+", ."+n.data.extlink.mailtoClass+"), area:not(."+n.data.extlink.extClass+", ."+n.data.extlink.mailtoClass+")",e).each(function(a){try{var e=this.href.toLowerCase();0!==e.indexOf("http")||(e.match(p)||r&&e.match(r))&&(!d||!e.match(d))||k&&t(this).parents(k).length>0||c&&t(this).parents(c).length<1?"AREA"===this.tagName||0!==e.indexOf("mailto:")||k&&t(this).parents(k).length>0||c&&t(this).parents(c).length<1||h.push(this):o.push(this)}catch(n){return!1}}),n.data.extlink.extClass&&a.extlink.applyClassAndSpan(o,n.data.extlink.extClass),n.data.extlink.mailtoClass&&a.extlink.applyClassAndSpan(h,n.data.extlink.mailtoClass),n.data.extlink.extTarget&&n.data.extlink.extTarget&&t(o).attr("target","_blank"),a.extlink=a.extlink||{},a.extlink.popupClickHandler=a.extlink.popupClickHandler||function(){return n.data.extlink.extAlert?confirm(n.data.extlink.extAlertText):void 0},t(o).click(function(t){return a.extlink.popupClickHandler(t)})}},a.extlink.applyClassAndSpan=function(a,n){var l;if(e.data.extlink.extImgClass)l=t(a);else{var i=t(a).find("img").parents("a");l=t(a).not(i)}l.addClass(n);var s,x=l.length;for(s=0;x>s;s++){var p=t(l[s]);("inline"===p.css("display")||"inline-block"===p.css("display"))&&(n===e.data.extlink.mailtoClass?p.append('<span class="'+n+'"><span class="element-invisible"> '+e.data.extlink.mailtoLabel+"</span></span>"):p.append('<span class="'+n+'"><span class="element-invisible"> '+e.data.extlink.extLabel+"</span></span>"))}},a.behaviors.extlink=a.behaviors.extlink||{},a.behaviors.extlink.attach=function(t,e){"function"==typeof extlinkAttach?extlinkAttach(t):a.extlink.attach(t,e)}}(jQuery,Drupal,drupalSettings);
+!function(a,b,c){"use strict";b.extlink=b.extlink||{},b.extlink.attach=function(c,d){if(d.data.hasOwnProperty("extlink")){var h,e=/^(([^\/:]+?\.)*)([^\.:]{1,})((\.[a-z0-9]{1,253})*)(:[0-9]{1,5})?$/,f=window.location.host.replace(e,"$3$4"),g=window.location.host.replace(e,"$1");h=d.data.extlink.extSubdomains?"([^/]*\\.)?":"www."===g||""===g?"(www\\.)?":g.replace(".","\\.");var i=new RegExp("^https?://"+h+f,"i"),j=!1;d.data.extlink.extInclude&&(j=new RegExp(d.data.extlink.extInclude.replace(/\\/,"\\"),"i"));var k=!1;d.data.extlink.extExclude&&(k=new RegExp(d.data.extlink.extExclude.replace(/\\/,"\\"),"i"));var l=!1;d.data.extlink.extCssExclude&&(l=d.data.extlink.extCssExclude);var m=!1;d.data.extlink.extCssExplicit&&(m=d.data.extlink.extCssExplicit);var n=[],o=[],p="";d.data.extlink.extIcon&&d.data.extlink.extClass&&(p+="."+d.data.extlink.extClass),d.data.extlink.mailtoIcon&&d.data.extlink.mailtoClass&&(p&&(p+=", "),p+="."+d.data.extlink.mailtoClass),p&&a("a:not("+p+"), area:not("+p+")",c).each(function(b){try{var c="";"string"==typeof this.href?c=this.href.toLowerCase():"object"==typeof this.href&&(c=this.href.baseVal),0!==c.indexOf("http")||(c.match(i)||k&&c.match(k))&&(!j||!c.match(j))||l&&a(this).parents(l).length>0||m&&a(this).parents(m).length<1?"AREA"===this.tagName||0!==c.indexOf("mailto:")||l&&a(this).parents(l).length>0||m&&a(this).parents(m).length<1||o.push(this):n.push(this)}catch(a){return!1}}),d.data.extlink.extIcon&&d.data.extlink.extClass&&b.extlink.applyClassAndSpan(n,d.data.extlink.extClass),d.data.extlink.mailtoIcon&&d.data.extlink.mailtoClass&&b.extlink.applyClassAndSpan(o,d.data.extlink.mailtoClass),d.data.extlink.extTarget&&d.data.extlink.extTarget&&(a(n).attr("target","_blank"),a(n).attr("rel",function(a,b){return null===b?"noopener nofererer":b.indexOf("noopener")>-1||b.indexOf("noreferrer")>-1?b.indexOf("noopener")===-1?b+" noopener":b.indexOf("noreferrer")===-1?b+" noreferrer":b:b+" noopener nofererer"})),b.extlink=b.extlink||{},b.extlink.popupClickHandler=b.extlink.popupClickHandler||function(){if(d.data.extlink.extAlert)return confirm(d.data.extlink.extAlertText)},a(n).click(function(a){return b.extlink.popupClickHandler(a,this)})}},b.extlink.applyClassAndSpan=function(b,d){var e;if(c.data.extlink.extImgClass)e=a(b);else{var f=a(b).find("img").parents("a");e=a(b).not(f)}e.addClass(d);var g,h=e.length;for(g=0;g<h;g++){var i=a(e[g]);"inline"!==i.css("display")&&"inline-block"!==i.css("display")||(d===c.data.extlink.mailtoClass?i.append('<span class="'+d+'"><span class="visually-hidden"> '+c.data.extlink.mailtoLabel+"</span></span>"):i.append('<span class="'+d+'"><span class="visually-hidden"> '+c.data.extlink.extLabel+"</span></span>"))}},b.behaviors.extlink=b.behaviors.extlink||{},b.behaviors.extlink.attach=function(a,c){"function"==typeof extlinkAttach?extlinkAttach(a):b.extlink.attach(a,c)}}(jQuery,Drupal,drupalSettings);
diff --git a/extlink.module b/extlink.module
index fa09b7e..985542b 100644
--- a/extlink.module
+++ b/extlink.module
@@ -28,18 +28,20 @@ function extlink_page_attachments(array &$attachments) {
   $attachments['#attached']['library'][] = 'extlink/drupal.extlink';
 
   $attachments['#attached']['drupalSettings']['data']['extlink'] = array(
-    'extTarget'      => $config->get('extlink_target', 0),
-    'extClass'       => $config->get('extlink_class', 'ext'),
-    'extLabel'       => Html::escape($config->get('extlink_label', t('(link is external)'))),
-    'extImgClass'    => $config->get('extlink_img_class', 0),
-    'extSubdomains'  => $config->get('extlink_subdomains', 1),
-    'extExclude'     => $config->get('extlink_exclude', ''),
-    'extInclude'     => $config->get('extlink_include', ''),
-    'extCssExclude'  => $config->get('extlink_css_exclude', ''),
-    'extCssExplicit' => $config->get('extlink_css_explicit', ''),
-    'extAlert'       => $config->get('extlink_alert', 0),
-    'extAlertText'   => $config->get('extlink_alert_text', t('This link will take you to an external web site. We are not responsible for their content.')),
-    'mailtoClass'    => $config->get('extlink_mailto_class', 'mailto'),
-    'mailtoLabel'    => Html::escape($config->get('extlink_mailto_label', t('(link sends e-mail)'))),
+    'extTarget'      => $config->get('extlink_target'),
+    'extSubdomains'  => $config->get('extlink_subdomains'),
+    'extAlert'       => $config->get('extlink_alert'),
+    'extAlertText'   => Html::escape($config->get('extlink_alert_text')),
+    'extExclude'     => Html::escape($config->get('extlink_exclude')),
+    'extInclude'     => Html::escape($config->get('extlink_include')),
+    'extIcon'        => $config->get('extlink_icon'),
+    'extClass'       => $config->get('extlink_class'),
+    'extLabel'       => Html::escape($config->get('extlink_label')),
+    'extImgClass'    => $config->get('extlink_img_class'),
+    'extCssExclude'  => Html::escape($config->get('extlink_css_exclude')),
+    'extCssExplicit' => Html::escape($config->get('extlink_css_explicit')),
+    'mailtoIcon'     => $config->get('extlink_mailto_icon'),
+    'mailtoClass'    => Html::escape($config->get('extlink_mailto_class')),
+    'mailtoLabel'    => Html::escape($config->get('extlink_mailto_label')),
   );
 }
diff --git a/src/Form/ExtlinkAdminSettingsForm.php b/src/Form/ExtlinkAdminSettingsForm.php
index 15b38ec..000505d 100644
--- a/src/Form/ExtlinkAdminSettingsForm.php
+++ b/src/Form/ExtlinkAdminSettingsForm.php
@@ -24,27 +24,56 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
     $config = \Drupal::config('extlink.settings');
     $renderer = \Drupal::service('renderer');
 
-    $form['extlink_class'] = array(
+    $form['extlink_icon'] = array(
       '#type' => 'checkbox',
       '#title' => $this->t('Place an icon next to external links.'),
-      '#return_value' => 'ext',
+      '#default_value' => $config->get('extlink_icon'),
+      '#description' => $this->t('Places an icon next to external links based on the icon class below.'),
+    );
+
+    $form['extlink_class'] = array(
+      '#type' => 'textfield',
+      '#title' => $this->t('Icon class to add to external links.'),
+      '#maxlength' => NULL,
       '#default_value' => $config->get('extlink_class'),
-      '#description' => $this->t('Places an <span class="ext"> </span>&nbsp; icon next to external links.'),
+      '#description' => $this->t('Default icon ("ext"): <span class="ext"> </span> &nbsp;- if you change this selector name from <em>ext</em>, please add your own css definition in your theme.'),
     );
 
-    $form['extlink_mailto_class'] = array(
+    $form['extlink_label'] = array(
+      '#type' => 'textfield',
+      '#title' => $this->t('Invisible label to add alongside external links icon. (.visually-hidden)'),
+      '#maxlength' => NULL,
+      '#default_value' => $config->get('extlink_label'),
+      '#description' => $this->t('Used for screen readers.'),
+    );
+
+    $form['extlink_mailto_icon'] = array(
       '#type' => 'checkbox',
-      '#title' => $this->t('Place an icon next to mailto links'),
-      '#return_value' => 'mailto',
+      '#title' => $this->t('Place an icon next to mailto links.'),
+      '#default_value' => $config->get('extlink_mailto_icon'),
+      '#description' => $this->t('Places an icon next to mailto links based on the icon class below.'),
+    );
+
+    $form['extlink_mailto_class'] = array(
+      '#type' => 'textfield',
+      '#title' => $this->t('Icon class to add to mailto links'),
+      '#maxlength' => NULL,
       '#default_value' => $config->get('extlink_mailto_class'),
-      '#description' => $this->t('Places an <span class="mailto"> </span>&nbsp; icon next to mailto links.'),
+      '#description' => $this->t('Default icon ("ext"): <span class="mailto"> </span> &nbsp;- if you change this selector name from <em>mailto</em>, please add your own css definition in your theme.'),
+    );
+
+    $form['extlink_mailto_label'] = array(
+      '#type' => 'textfield',
+      '#title' => $this->t('Invisible label to add alongside mailto icon. (.visually-hidden)'),
+      '#maxlength' => NULL,
+      '#default_value' => $config->get('extlink_mailto_label'),
+      '#description' => $this->t('Used for screen readers.'),
     );
 
     $form['extlink_img_class'] = array(
       '#type' => 'checkbox',
       '#title' => $this->t('Place an icon next to image links'),
-      '#return_value' => TRUE,
-      '#default_value' => $config->get('extlink_img_class', FALSE),
+      '#default_value' => $config->get('extlink_img_class'),
       '#description' => $this->t('If checked, images wrapped in an anchor tag will be treated as external links.'),
     );
 
@@ -58,14 +87,12 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
     $form['extlink_target'] = array(
       '#type' => 'checkbox',
       '#title' => $this->t('Open external links in a new window'),
-      '#return_value' => '_blank',
       '#default_value' => $config->get('extlink_target'),
     );
 
     $form['extlink_alert'] = array(
       '#type' => 'checkbox',
       '#title' => $this->t('Display a pop-up warning when any external link is clicked.'),
-      '#return_value' => '_blank',
       '#default_value' => $config->get('extlink_alert'),
     );
 
@@ -146,7 +173,7 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
       '#type' => 'textarea',
       '#title' => $this->t('Exclude links inside these CSS selectors'),
       '#maxlength' => NULL,
-      '#default_value' => $config->get('extlink_css_exclude', ''),
+      '#default_value' => $config->get('extlink_css_exclude'),
       '#description' => $this->t('Enter a comma-separated list of CSS selectors (ie "#block-block-2 .content, ul.menu")'),
     );
 
@@ -154,7 +181,7 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
       '#type' => 'textarea',
       '#title' => $this->t('Only look for links inside these CSS selectors'),
       '#maxlength' => NULL,
-      '#default_value' => $config->get('extlink_css_explicit', ''),
+      '#default_value' => $config->get('extlink_css_explicit'),
       '#description' => $this->t('Enter a comma-separated list of CSS selectors (ie "#block-block-2 .content, ul.menu")'),
     );
     return parent::buildForm($form, $form_state);
@@ -174,17 +201,21 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
     $values = $form_state->getValues();
 
     \Drupal::configFactory()->getEditable('extlink.settings')
-      ->set('extlink_include', $values['extlink_include'])
-      ->set('extlink_exclude', $values['extlink_exclude'])
-      ->set('extlink_alert_text', $values['extlink_alert_text'])
-      ->set('extlink_alert', $values['extlink_alert'])
       ->set('extlink_target', $values['extlink_target'])
       ->set('extlink_subdomains', $values['extlink_subdomains'])
-      ->set('extlink_mailto_class', $values['extlink_mailto_class'])
-      ->set('extlink_img_class', $values['extlink_img_class'])
+      ->set('extlink_alert', $values['extlink_alert'])
+      ->set('extlink_alert_text', $values['extlink_alert_text'])
+      ->set('extlink_exclude', $values['extlink_exclude'])
+      ->set('extlink_include', $values['extlink_include'])
+      ->set('extlink_icon', $values['extlink_icon'])
       ->set('extlink_class', $values['extlink_class'])
+      ->set('extlink_label', $values['extlink_label'])
+      ->set('extlink_img_class', $values['extlink_img_class'])
       ->set('extlink_css_exclude', $values['extlink_css_exclude'])
       ->set('extlink_css_explicit', $values['extlink_css_explicit'])
+      ->set('extlink_mailto_icon', $values['extlink_mailto_icon'])
+      ->set('extlink_mailto_class', $values['extlink_mailto_class'])
+      ->set('extlink_mailto_label', $values['extlink_mailto_label'])
       ->save();
 
     parent::submitForm($form, $form_state);
