diff --git a/config/extlink.settings.yml b/config/install/extlink.settings.yml
similarity index 59%
rename from config/extlink.settings.yml
rename to config/install/extlink.settings.yml
index cde9d31..9360e00 100644
--- a/config/extlink.settings.yml
+++ b/config/install/extlink.settings.yml
@@ -5,5 +5,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 97b6178..bbc894b 100644
--- a/config/schema/extlink.schema.yml
+++ b/config/schema/extlink.schema.yml
@@ -25,9 +25,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'
@@ -37,6 +43,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 d55d059..2363a40 100644
--- a/extlink.install
+++ b/extlink.install
@@ -12,3 +12,23 @@ function extlink_install() {
   // Weight needs to be 1 for compatibility with SpamSpan.
   module_set_weight('extlink', 1);
 }
+
+/**
+ * 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 edf843c..5e1762c 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);
     }
 
@@ -185,10 +199,10 @@
       var $link = $($links_to_process[i]);
       if (class_name !== '0' && ($link.css('display') === 'inline' || $link.css('display') === 'inline-block' || $link.css('display') === '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 413cc9f..0cd48ee 100644
--- a/extlink.min.js
+++ b/extlink.min.js
@@ -1 +1 @@
-!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=[];a("a:not(."+d.data.extlink.extClass+", ."+d.data.extlink.mailtoClass+"), area:not(."+d.data.extlink.extClass+", ."+d.data.extlink.mailtoClass+")",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.extClass&&b.extlink.applyClassAndSpan(n,d.data.extlink.extClass),d.data.extlink.mailtoClass&&b.extlink.applyClassAndSpan(o,d.data.extlink.mailtoClass),d.data.extlink.extTarget&&(a(n).attr({target:"_blank"}),a(n).attr("rel",function(a,b){return null===b||"undefined"==typeof b?"noopener noreferrer":b.indexOf("noopener")>-1||b.indexOf("noreferrer")>-1?b.indexOf("noopener")===-1?b+" noopener":b.indexOf("noreferrer")===-1?b+" noreferrer":b:b+" noopener noreferrer"})),d.data.extlink.extNofollow&&a(n).attr("rel",function(a,b){if(b.indexOf("nofollow")===-1)return b+" nofollow"}),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)}"0"!==d&&e.addClass(d);var g,h=e.length;for(g=0;g<h;g++){var i=a(e[g]);"0"===d||"inline"!==i.css("display")&&"inline-block"!==i.css("display")&&"block"!==i.css("display")||(d===c.data.extlink.mailtoClass?i.append('<span class="'+d+'"><span class="element-invisible"> '+c.data.extlink.mailtoLabel+"</span></span>"):i.append('<span class="'+d+'"><span class="element-invisible"> '+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);
+!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&&(a(n).attr({target:"_blank"}),a(n).attr("rel",function(a,b){return null===b||void 0===b?"noopener noreferrer":b.indexOf("noopener")>-1||b.indexOf("noreferrer")>-1?-1===b.indexOf("noopener")?b+" noopener":-1===b.indexOf("noreferrer")?b+" noreferrer":b:b+" noopener noreferrer"})),d.data.extlink.extNofollow&&a(n).attr("rel",function(a,b){if(-1===b.indexOf("nofollow"))return b+" nofollow"}),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)}"0"!==d&&e.addClass(d);var g,h=e.length;for(g=0;g<h;g++){var i=a(e[g]);"0"===d||"inline"!==i.css("display")&&"inline-block"!==i.css("display")&&"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);
\ No newline at end of file
diff --git a/extlink.module b/extlink.module
index fd35327..fd86190 100644
--- a/extlink.module
+++ b/extlink.module
@@ -40,19 +40,21 @@ function extlink_page_attachments(array &$attachments) {
   $attachments['#attached']['library'][] = 'extlink/drupal.extlink';
 
   $attachments['#attached']['drupalSettings']['data']['extlink'] = array(
-    'extTarget'      => $config->get('extlink_target', 0),
-    'extNofollow'      => $config->get('extlink_nofollow', 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'),
+    'extNofollow'    => $config->get('extlink_nofollow'),
+    'extIcon'        => $config->get('extlink_icon'),
+    'extClass'       => $config->get('extlink_class'),
+    'extLabel'       => Html::escape($config->get('extlink_label')),
+    'extImgClass'    => $config->get('extlink_img_class'),
+    'extSubdomains'  => $config->get('extlink_subdomains'),
+    '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'),
+    'extAlertText'   => $config->get('extlink_alert_text'),
+    'mailtoIcon'     => $config->get('extlink_mailto_icon'),
+    'mailtoClass'    => $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 60bd246..b454ca7 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.'),
     );
 
@@ -153,7 +182,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")'),
     );
 
@@ -161,7 +190,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);
@@ -183,14 +212,18 @@ class ExtlinkAdminSettingsForm extends ConfigFormBase {
     \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_alert_text', $values['extlink_alert_text'])
       ->set('extlink_target', $values['extlink_target'])
       ->set('extlink_nofollow', $values['extlink_nofollow'])
       ->set('extlink_subdomains', $values['extlink_subdomains'])
+      ->set('extlink_mailto_icon', $values['extlink_mailto_icon'])
       ->set('extlink_mailto_class', $values['extlink_mailto_class'])
-      ->set('extlink_img_class', $values['extlink_img_class'])
+      ->set('extlink_mailto_label', $values['extlink_mailto_label'])
+      ->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'])
       ->save();
