diff --git a/includes/icons.inc b/includes/icons.inc
index 10aed96..034570a 100644
--- a/includes/icons.inc
+++ b/includes/icons.inc
@@ -11,7 +11,7 @@
 function bootstrap_icon_providers() {
   $providers['bootstrap'] = array(
     'title' => t('Bootstrap'),
-    'url' => 'http://twitter.github.com/bootstrap/base-css.html#icons',
+    'url' => 'http://getbootstrap.com/components/#glyphicons',
   );
   return $providers;
 }
@@ -20,159 +20,227 @@ function bootstrap_icon_providers() {
  * Implements hook_icon_bundles().
  */
 function bootstrap_icon_bundles() {
-  $bundles['bootstrap'] = array(
-    'render' => 'sprite',
-    'provider' => 'bootstrap',
-    'title' => t('Bootstrap'),
-    'version' => t('Icons by Glyphicons'),
-    'variations' => array(
-      'icon-white' => t('White'),
-    ),
-    'settings' => array(
-      'tag' => 'i',
-    ),
-    'icons' => array(
-      'icon-glass' => 'glass',
-      'icon-music' => 'music',
-      'icon-search' => 'search',
-      'icon-envelope' => 'envelope',
-      'icon-heart' => 'heart',
-      'icon-star' => 'star',
-      'icon-star-empty' => 'star-empty',
-      'icon-user' => 'user',
-      'icon-film' => 'film',
-      'icon-th-large' => 'th-large',
-      'icon-th' => 'th',
-      'icon-th-list' => 'th-list',
-      'icon-ok' => 'ok',
-      'icon-remove' => 'remove',
-      'icon-zoom-in' => 'zoom-in',
-      'icon-zoom-out' => 'zoom-out',
-      'icon-off' => 'off',
-      'icon-signal' => 'signal',
-      'icon-cog' => 'cog',
-      'icon-trash' => 'trash',
-      'icon-home' => 'home',
-      'icon-file' => 'file',
-      'icon-time' => 'time',
-      'icon-road' => 'road',
-      'icon-download-alt' => 'download-alt',
-      'icon-download' => 'download',
-      'icon-upload' => 'upload',
-      'icon-inbox' => 'inbox',
-      'icon-play-circle' => 'play-circle',
-      'icon-repeat' => 'repeat',
-      'icon-refresh' => 'refresh',
-      'icon-list-alt' => 'list-alt',
-      'icon-lock' => 'lock',
-      'icon-flag' => 'flag',
-      'icon-headphones' => 'headphones',
-      'icon-volume-off' => 'volume-off',
-      'icon-volume-down' => 'volume-down',
-      'icon-volume-up' => 'volume-up',
-      'icon-qrcode' => 'qrcode',
-      'icon-barcode' => 'barcode',
-      'icon-tag' => 'tag',
-      'icon-tags' => 'tags',
-      'icon-book' => 'book',
-      'icon-bookmark' => 'bookmark',
-      'icon-print' => 'print',
-      'icon-camera' => 'camera',
-      'icon-font' => 'font',
-      'icon-bold' => 'bold',
-      'icon-italic' => 'italic',
-      'icon-text-height' => 'text-height',
-      'icon-text-width' => 'text-width',
-      'icon-align-left' => 'align-left',
-      'icon-align-center' => 'align-center',
-      'icon-align-right' => 'align-right',
-      'icon-align-justify' => 'align-justify',
-      'icon-list' => 'list',
-      'icon-indent-left' => 'indent-left',
-      'icon-indent-right' => 'indent-right',
-      'icon-facetime-video' => 'facetime-video',
-      'icon-picture' => 'picture',
-      'icon-pencil' => 'pencil',
-      'icon-map-marker' => 'map-marker',
-      'icon-adjust' => 'adjust',
-      'icon-tint' => 'tint',
-      'icon-edit' => 'edit',
-      'icon-share' => 'share',
-      'icon-check' => 'check',
-      'icon-move' => 'move',
-      'icon-step-backward' => 'step-backward',
-      'icon-fast-backward' => 'fast-backward',
-      'icon-backward' => 'backward',
-      'icon-play' => 'play',
-      'icon-pause' => 'pause',
-      'icon-stop' => 'stop',
-      'icon-forward' => 'forward',
-      'icon-fast-forward' => 'fast-forward',
-      'icon-step-forward' => 'step-forward',
-      'icon-eject' => 'eject',
-      'icon-chevron-left' => 'chevron-left',
-      'icon-chevron-right' => 'chevron-right',
-      'icon-plus-sign' => 'plus-sign',
-      'icon-minus-sign' => 'minus-sign',
-      'icon-remove-sign' => 'remove-sign',
-      'icon-ok-sign' => 'ok-sign',
-      'icon-question-sign' => 'question-sign',
-      'icon-info-sign' => 'info-sign',
-      'icon-screenshot' => 'screenshot',
-      'icon-remove-circle' => 'remove-circle',
-      'icon-ok-circle' => 'ok-circle',
-      'icon-ban-circle' => 'ban-circle',
-      'icon-arrow-left' => 'arrow-left',
-      'icon-arrow-right' => 'arrow-right',
-      'icon-arrow-up' => 'arrow-up',
-      'icon-arrow-down' => 'arrow-down',
-      'icon-share-alt' => 'share-alt',
-      'icon-resize-full' => 'resize-full',
-      'icon-resize-small' => 'resize-small',
-      'icon-plus' => 'plus',
-      'icon-minus' => 'minus',
-      'icon-asterisk' => 'asterisk',
-      'icon-exclamation-sign' => 'exclamation-sign',
-      'icon-gift' => 'gift',
-      'icon-leaf' => 'leaf',
-      'icon-fire' => 'fire',
-      'icon-eye-open' => 'eye-open',
-      'icon-eye-close' => 'eye-close',
-      'icon-warning-sign' => 'warning-sign',
-      'icon-plane' => 'plane',
-      'icon-calendar' => 'calendar',
-      'icon-random' => 'random',
-      'icon-comment' => 'comment',
-      'icon-magnet' => 'magnet',
-      'icon-chevron-up' => 'chevron-up',
-      'icon-chevron-down' => 'chevron-down',
-      'icon-retweet' => 'retweet',
-      'icon-shopping-cart' => 'shopping-cart',
-      'icon-folder-close' => 'folder-close',
-      'icon-folder-open' => 'folder-open',
-      'icon-resize-vertical' => 'resize-vertical',
-      'icon-resize-horizontal' => 'resize-horizontal',
-      'icon-hdd' => 'hdd',
-      'icon-bullhorn' => 'bullhorn',
-      'icon-bell' => 'bell',
-      'icon-certificate' => 'certificate',
-      'icon-thumbs-up' => 'thumbs-up',
-      'icon-thumbs-down' => 'thumbs-down',
-      'icon-hand-right' => 'hand-right',
-      'icon-hand-left' => 'hand-left',
-      'icon-hand-up' => 'hand-up',
-      'icon-hand-down' => 'hand-down',
-      'icon-circle-arrow-right' => 'circle-arrow-right',
-      'icon-circle-arrow-left' => 'circle-arrow-left',
-      'icon-circle-arrow-up' => 'circle-arrow-up',
-      'icon-circle-arrow-down' => 'circle-arrow-down',
-      'icon-globe' => 'globe',
-      'icon-wrench' => 'wrench',
-      'icon-tasks' => 'tasks',
-      'icon-filter' => 'filter',
-      'icon-briefcase' => 'briefcase',
-      'icon-fullscreen' => 'fullscreen',
-    ),
-  );
+  global $theme_path;
+  $cnd = theme_get_setting('cdn_bootstrap');
+  // TODO: check if font folder exists, don't know how exactly do that, should be something like this (uncomment):
+  if( $cnd == 1
+     // || ($cnd == 0 && is_dir(getcwd().'/sites/all/'.$theme_path.'/bootstrap/fonts'))
+    ) {
+    $bundles['bootstrap'] = array(
+      'render' => 'sprite',
+      'provider' => 'bootstrap',
+      'title' => t('Bootstrap'),
+      'version' => t('Icons by Glyphicons'),
+      'variations' => array(
+        'icon-white' => t('White'),
+      ),
+      'settings' => array(
+        'tag' => 'i',
+      ),
+      'icons' => array(
+        'glyphicon-adjust' => 'adjust',
+        'glyphicon-align-center' => 'align-center',
+        'glyphicon-align-justify' => 'align-justify',
+        'glyphicon-align-left' => 'align-left',
+        'glyphicon-align-right' => 'align-right',
+        'glyphicon-arrow-down' => 'arrow-down',
+        'glyphicon-arrow-left' => 'arrow-left',
+        'glyphicon-arrow-right' => 'arrow-right',
+        'glyphicon-arrow-up' => 'arrow-up',
+        'glyphicon-asterisk' => 'asterisk',
+        'glyphicon-backward' => 'backward',
+        'glyphicon-ban-circle' => 'ban-circle',
+        'glyphicon-barcode' => 'barcode',
+        'glyphicon-bell' => 'bell',
+        'glyphicon-bold' => 'bold',
+        'glyphicon-book' => 'book',
+        'glyphicon-bookmark' => 'bookmark',
+        'glyphicon-briefcase' => 'briefcase',
+        'glyphicon-bullhorn' => 'bullhorn',
+        'glyphicon-calendar' => 'calendar',
+        'glyphicon-camera' => 'camera',
+        'glyphicon-certificate' => 'certificate',
+        'glyphicon-check' => 'check',
+        'glyphicon-chevron-down' => 'chevron-down',
+        'glyphicon-chevron-left' => 'chevron-left',
+        'glyphicon-chevron-right' => 'chevron-right',
+        'glyphicon-chevron-up' => 'chevron-up',
+        'glyphicon-circle-arrow-down' => 'circle-arrow-down',
+        'glyphicon-circle-arrow-left' => 'circle-arrow-left',
+        'glyphicon-circle-arrow-right' => 'circle-arrow-right',
+        'glyphicon-circle-arrow-up' => 'circle-arrow-up',
+        'glyphicon-cloud' => 'cloud',
+        'glyphicon-cloud-download' => 'cloud-download',
+        'glyphicon-cloud-upload' => 'cloud-upload',
+        'glyphicon-cog' => 'cog',
+        'glyphicon-collapse-down' => 'collapse-down',
+        'glyphicon-collapse-up' => 'collapse-up',
+        'glyphicon-comment' => 'comment',
+        'glyphicon-compressed' => 'compressed',
+        'glyphicon-copyright-mark' => 'copyright-mark',
+        'glyphicon-credit-card' => 'credit-card',
+        'glyphicon-cutlery' => 'cutlery',
+        'glyphicon-dashboard' => 'dashboard',
+        'glyphicon-download' => 'download',
+        'glyphicon-download-alt' => 'download-alt',
+        'glyphicon-earphone' => 'earphone',
+        'glyphicon-edit' => 'edit',
+        'glyphicon-eject' => 'eject',
+        'glyphicon-envelope' => 'envelope',
+        'glyphicon-euro' => 'euro',
+        'glyphicon-exclamation-sign' => 'exclamation-sign',
+        'glyphicon-expand' => 'expand',
+        'glyphicon-export' => 'export',
+        'glyphicon-eye-close' => 'eye-close',
+        'glyphicon-eye-open' => 'eye-open',
+        'glyphicon-facetime-video' => 'facetime-video',
+        'glyphicon-fast-backward' => 'fast-backward',
+        'glyphicon-fast-forward' => 'fast-forward',
+        'glyphicon-file' => 'file',
+        'glyphicon-film' => 'film',
+        'glyphicon-filter' => 'filter',
+        'glyphicon-fire' => 'fire',
+        'glyphicon-flag' => 'flag',
+        'glyphicon-flash' => 'flash',
+        'glyphicon-floppy-disk' => 'floppy-disk',
+        'glyphicon-floppy-open' => 'floppy-open',
+        'glyphicon-floppy-remove' => 'floppy-remove',
+        'glyphicon-floppy-save' => 'floppy-save',
+        'glyphicon-floppy-saved' => 'floppy-saved',
+        'glyphicon-folder-close' => 'folder-close',
+        'glyphicon-folder-open' => 'folder-open',
+        'glyphicon-font' => 'font',
+        'glyphicon-forward' => 'forward',
+        'glyphicon-fullscreen' => 'fullscreen',
+        'glyphicon-gbp' => 'gbp',
+        'glyphicon-gift' => 'gift',
+        'glyphicon-glass' => 'glass',
+        'glyphicon-globe' => 'globe',
+        'glyphicon-hand-down' => 'hand-down',
+        'glyphicon-hand-left' => 'hand-left',
+        'glyphicon-hand-right' => 'hand-right',
+        'glyphicon-hand-up' => 'hand-up',
+        'glyphicon-hd-video' => 'hd-video',
+        'glyphicon-hdd' => 'hdd',
+        'glyphicon-header' => 'header',
+        'glyphicon-headphones' => 'headphones',
+        'glyphicon-heart' => 'heart',
+        'glyphicon-heart-empty' => 'heart-empty',
+        'glyphicon-home' => 'home',
+        'glyphicon-import' => 'import',
+        'glyphicon-inbox' => 'inbox',
+        'glyphicon-indent-left' => 'indent-left',
+        'glyphicon-indent-right' => 'indent-right',
+        'glyphicon-info-sign' => 'info-sign',
+        'glyphicon-italic' => 'italic',
+        'glyphicon-leaf' => 'leaf',
+        'glyphicon-link' => 'link',
+        'glyphicon-list' => 'list',
+        'glyphicon-list-alt' => 'list-alt',
+        'glyphicon-lock' => 'lock',
+        'glyphicon-log-in' => 'log-in',
+        'glyphicon-log-out' => 'log-out',
+        'glyphicon-magnet' => 'magnet',
+        'glyphicon-map-marker' => 'map-marker',
+        'glyphicon-minus' => 'minus',
+        'glyphicon-minus-sign' => 'minus-sign',
+        'glyphicon-move' => 'move',
+        'glyphicon-music' => 'music',
+        'glyphicon-new-window' => 'new-window',
+        'glyphicon-off' => 'off',
+        'glyphicon-ok' => 'ok',
+        'glyphicon-ok-circle' => 'ok-circle',
+        'glyphicon-ok-sign' => 'ok-sign',
+        'glyphicon-open' => 'open',
+        'glyphicon-paperclip' => 'paperclip',
+        'glyphicon-pause' => 'pause',
+        'glyphicon-pencil' => 'pencil',
+        'glyphicon-phone' => 'phone',
+        'glyphicon-phone-alt' => 'phone-alt',
+        'glyphicon-picture' => 'picture',
+        'glyphicon-plane' => 'plane',
+        'glyphicon-play' => 'play',
+        'glyphicon-play-circle' => 'play-circle',
+        'glyphicon-plus' => 'plus',
+        'glyphicon-plus-sign' => 'plus-sign',
+        'glyphicon-print' => 'print',
+        'glyphicon-pushpin' => 'pushpin',
+        'glyphicon-qrcode' => 'qrcode',
+        'glyphicon-question-sign' => 'question-sign',
+        'glyphicon-random' => 'random',
+        'glyphicon-record' => 'record',
+        'glyphicon-refresh' => 'refresh',
+        'glyphicon-registration-mark' => 'registration-mark',
+        'glyphicon-remove' => 'remove',
+        'glyphicon-remove-circle' => 'remove-circle',
+        'glyphicon-remove-sign' => 'remove-sign',
+        'glyphicon-repeat' => 'repeat',
+        'glyphicon-resize-full' => 'resize-full',
+        'glyphicon-resize-horizontal' => 'resize-horizontal',
+        'glyphicon-resize-small' => 'resize-small',
+        'glyphicon-resize-vertical' => 'resize-vertical',
+        'glyphicon-retweet' => 'retweet',
+        'glyphicon-road' => 'road',
+        'glyphicon-save' => 'save',
+        'glyphicon-saved' => 'saved',
+        'glyphicon-screenshot' => 'screenshot',
+        'glyphicon-sd-video' => 'sd-video',
+        'glyphicon-search' => 'search',
+        'glyphicon-send' => 'send',
+        'glyphicon-share' => 'share',
+        'glyphicon-share-alt' => 'share-alt',
+        'glyphicon-shopping-cart' => 'shopping-cart',
+        'glyphicon-signal' => 'signal',
+        'glyphicon-sort' => 'sort',
+        'glyphicon-sort-by-alphabet' => 'sort-by-alphabet',
+        'glyphicon-sort-by-alphabet-alt' => 'sort-by-alphabet-alt',
+        'glyphicon-sort-by-attributes' => 'sort-by-attributes',
+        'glyphicon-sort-by-attributes-alt' => 'sort-by-attributes-alt',
+        'glyphicon-sort-by-order' => 'sort-by-order',
+        'glyphicon-sort-by-order-alt' => 'sort-by-order-alt',
+        'glyphicon-sound-5-1' => 'sound-5-1',
+        'glyphicon-sound-6-1' => 'sound-6-1',
+        'glyphicon-sound-7-1' => 'sound-7-1',
+        'glyphicon-sound-dolby' => 'sound-dolby',
+        'glyphicon-sound-stereo' => 'sound-stereo',
+        'glyphicon-star' => 'star',
+        'glyphicon-star-empty' => 'star-empty',
+        'glyphicon-stats' => 'stats',
+        'glyphicon-step-backward' => 'step-backward',
+        'glyphicon-step-forward' => 'step-forward',
+        'glyphicon-stop' => 'stop',
+        'glyphicon-subtitles' => 'subtitles',
+        'glyphicon-tag' => 'tag',
+        'glyphicon-tags' => 'tags',
+        'glyphicon-tasks' => 'tasks',
+        'glyphicon-text-height' => 'text-height',
+        'glyphicon-text-width' => 'text-width',
+        'glyphicon-th' => 'th',
+        'glyphicon-th-large' => 'th-large',
+        'glyphicon-th-list' => 'th-list',
+        'glyphicon-thumbs-down' => 'thumbs-down',
+        'glyphicon-thumbs-up' => 'thumbs-up',
+        'glyphicon-time' => 'time',
+        'glyphicon-tint' => 'tint',
+        'glyphicon-tower' => 'tower',
+        'glyphicon-transfer' => 'transfer',
+        'glyphicon-trash' => 'trash',
+        'glyphicon-tree-conifer' => 'tree-conifer',
+        'glyphicon-tree-deciduous' => 'tree-deciduous',
+        'glyphicon-unchecked' => 'unchecked',
+        'glyphicon-upload' => 'upload',
+        'glyphicon-usd' => 'usd',
+        'glyphicon-user' => 'user',
+        'glyphicon-volume-down' => 'volume-down',
+        'glyphicon-volume-off' => 'volume-off',
+        'glyphicon-volume-up' => 'volume-up',
+        'glyphicon-warning-sign' => 'warning-sign',
+        'glyphicon-wrench' => 'wrench',
+        'glyphicon-zoom-in' => 'zoom-in',
+        'glyphicon-zoom-out' => 'zoom-out'
+      ),
+    );
+  }
+
   return $bundles;
 }
diff --git a/template.php b/template.php
old mode 100755
new mode 100644
index a211598..c944568
--- a/template.php
+++ b/template.php
@@ -307,3 +307,19 @@ function bootstrap_bootstrap_search_form_wrapper(&$variables) {
   $output .= '</div>';
   return $output;
  }
+
+ /**
+ * Implements hook_preprocess_icon().
+ *
+ * bootstrap need additional class glyphicon to display icons
+ *
+ * @see icon_preprocess_icon_image()
+ * @see template_preprocess_icon()
+*/
+function bootstrap_preprocess_icon(&$variables) {
+  $bundle = &$variables['bundle'];
+
+  if ($bundle['provider'] === 'bootstrap') {
+    $variables['attributes']['class'][] = 'glyphicon';
+  }
+}
