diff --git a/README.txt b/README.txt
index dfcc03a..c1b7a65 100755
--- a/README.txt
+++ b/README.txt
@@ -50,7 +50,10 @@ INSTALLATION
 CONFIGURATION
 -------------
 
-No configuration is needed.
+ * Visit the max bundle number setting form at
+   (/admin/config/bundle-number/settings).
+
+ * Enter the max bundle number in textfield and save the form.
 
 
 MAINTAINERS
diff --git a/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml b/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml
index 567e32d..0dbd1b2 100755
--- a/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml
+++ b/admin_toolbar_tools/admin_toolbar_tools.links.menu.yml
@@ -78,3 +78,13 @@ admin_toolbar_tools.flush_rendercache:
 admin_toolbar_tools.extra_links:
   deriver: \Drupal\admin_toolbar_tools\Plugin\Derivative\ExtraLinks
   menu_name: admin
+
+admin_toolbar_tools.admin_toolbar_tools:
+  title: 'Admin Toolbar Tools'
+  route_name: admin_toolbar.max_bundle_number_settings_form
+  parent: system.admin_config
+
+admin_toolbar_tools.max_bundle_number:
+  title: 'Set Max Bundle Toolbar'
+  route_name: admin_toolbar.max_bundle_number_settings_form
+  parent: admin_toolbar_tools.admin_toolbar_tools
diff --git a/admin_toolbar_tools/admin_toolbar_tools.routing.yml b/admin_toolbar_tools/admin_toolbar_tools.routing.yml
index ee4eb23..2058b6b 100755
--- a/admin_toolbar_tools/admin_toolbar_tools.routing.yml
+++ b/admin_toolbar_tools/admin_toolbar_tools.routing.yml
@@ -85,3 +85,11 @@ admin_toolbar.search:
     _controller: '\Drupal\admin_toolbar_tools\Controller\ToolbarController::search'
   requirements:
     _permission: 'administer site configuration'
+
+admin_toolbar.max_bundle_number_settings_form:
+  path: '/admin/config/bundle-number/settings'
+  defaults:
+    _form: '\Drupal\admin_toolbar_tools\Form\BundleSettingsForm'
+    _title: 'BundleSettingsForm'
+  requirements:
+    _permission: 'administer site configuration'
diff --git a/admin_toolbar_tools/admin_toolbar_tools.services.yml b/admin_toolbar_tools/admin_toolbar_tools.services.yml
index f772cff..161fd81 100644
--- a/admin_toolbar_tools/admin_toolbar_tools.services.yml
+++ b/admin_toolbar_tools/admin_toolbar_tools.services.yml
@@ -7,3 +7,4 @@ services:
      - '@router.route_provider'
      - '@cache_contexts_manager'
      - '@cache.toolbar'
+     - '@config.factory'
diff --git a/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php b/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
index 500cc68..0743a4e 100755
--- a/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
+++ b/admin_toolbar_tools/src/Plugin/Derivative/ExtraLinks.php
@@ -11,6 +11,7 @@ use Drupal\Core\Routing\RouteProviderInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\system\Entity\Menu;
 use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Config\ConfigFactoryInterface;
 
 /**
  * Provides a default implementation for menu link plugins.
@@ -19,8 +20,6 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
 
   use StringTranslationTrait;
 
-  const MAX_BUNDLE_NUMBER = 10;
-
   /**
    * The entity type manager.
    *
@@ -49,14 +48,22 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
    */
   protected $themeHandler;
 
+  /**
+   * A config object for the system performance configuration.
+   *
+   * @var \Drupal\Core\Config\Config
+   */
+  protected $config;
+
   /**
    * {@inheritdoc}
    */
-  public function __construct($base_plugin_id, EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, ThemeHandlerInterface $theme_handler) {
+  public function __construct($base_plugin_id, EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, ThemeHandlerInterface $theme_handler, ConfigFactoryInterface $config_factory) {
     $this->entityTypeManager = $entity_type_manager;
     $this->moduleHandler = $module_handler;
     $this->routeProvider = $route_provider;
     $this->themeHandler = $theme_handler;
+    $this->config = $config_factory->get('max_bundle.settings');
   }
 
   /**
@@ -68,7 +75,8 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
       $container->get('entity_type.manager'),
       $container->get('module_handler'),
       $container->get('router.route_provider'),
-      $container->get('theme_handler')
+      $container->get('theme_handler'),
+       $container->get('config.factory')
     );
   }
 
@@ -77,6 +85,7 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
    */
   public function getDerivativeDefinitions($base_plugin_definition) {
     $links = [];
+    $max_bundle_number = $this->config->get('max_bundle_number');
     $entity_types = $this->entityTypeManager->getDefinitions();
     $content_entities = [];
     foreach ($entity_types as $key => $entity_type) {
@@ -94,9 +103,9 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
       $content_entity = $entities['content_entity'];
       // We do not display more than 10 different bundles per entity type.
       $content_entity_bundle_storage = $this->entityTypeManager->getStorage($content_entity_bundle);
-      $bundles_ids = $content_entity_bundle_storage->getQuery()->pager(self::MAX_BUNDLE_NUMBER)->execute();
+      $bundles_ids = $content_entity_bundle_storage->getQuery()->pager($max_bundle_number)->execute();
       $bundles = $this->entityTypeManager->getStorage($content_entity_bundle)->loadMultiple($bundles_ids);
-      if (count($bundles) == self::MAX_BUNDLE_NUMBER) {
+      if (count($bundles) == $max_bundle_number) {
         $links[$content_entity_bundle . '.collection'] = [
           'title' => $this->t('All types'),
           'route_name' => 'entity.' . $content_entity_bundle . '.collection',
@@ -112,7 +121,7 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
           // link.
           $content_entity_bundle_root = 'entity.' . $content_entity_bundle . '.overview_form.' . $machine_name;
           $links[$content_entity_bundle_root] = [
-            'title' => $this->t($bundle->label()),
+            'title' => $bundle->label(),
             'route_name' => 'entity.' . $content_entity_bundle . '.overview_form',
             'parent' => 'entity.' . $content_entity_bundle . '.collection',
             'route_parameters' => [$content_entity_bundle => $machine_name],
@@ -121,7 +130,7 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
         if ($this->routeExists('entity.' . $content_entity_bundle . '.edit_form')) {
           $key = 'entity.' . $content_entity_bundle . '.edit_form.' . $machine_name;
           $links[$key] = [
-            'title' => $this->t($bundle->label()),
+            'title' => $bundle->label(),
             'route_name' => 'entity.' . $content_entity_bundle . '.edit_form',
             'parent' => 'entity.' . $content_entity_bundle . '.collection',
             'route_parameters' => [$content_entity_bundle => $machine_name],
@@ -131,7 +140,7 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
           }
           else {
             $links[$key]['parent'] = $base_plugin_definition['id'] . ':' . $content_entity_bundle_root;
-            $links[$key]['title'] = t('Edit');
+            $links[$key]['title'] = $this->t('Edit');
           }
         }
         if ($this->moduleHandler->moduleExists('field_ui')) {
@@ -191,23 +200,23 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
       'parent' => 'entity.user.collection',
     ] + $base_plugin_definition;
     $links['user.admin_permissions'] = [
-      'title' => t('Permissions'),
+      'title' => $this->t('Permissions'),
       'route_name' => 'user.admin_permissions',
       'parent' => 'entity.user.collection',
     ] + $base_plugin_definition;
     $links['entity.user_role.collection'] = [
-      'title' => t('Roles'),
+      'title' => $this->t('Roles'),
       'route_name' => 'entity.user_role.collection',
       'parent' => 'entity.user.collection',
     ] + $base_plugin_definition;
     $links['user.logout'] = [
-      'title' => t('Logout'),
+      'title' => $this->t('Logout'),
       'route_name' => 'user.logout',
       'parent' => 'admin_toolbar_tools.help',
       'weight' => 10,
     ] + $base_plugin_definition;
     $links['user.role_add'] = [
-      'title' => t('Add role'),
+      'title' => $this->t('Add role'),
       'route_name' => 'user.role_add',
       'parent' => $base_plugin_definition['id'] . ':entity.user_role.collection',
       'weight' => -5,
@@ -280,7 +289,7 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
       // Adds node links for each content type.
       foreach ($this->entityTypeManager->getStorage('node_type')->loadMultiple() as $type) {
         $links['node.add.' . $type->id()] = [
-          'title' => $this->t($type->label()),
+          'title' => $type->label(),
           'route_name' => 'node.add',
           'parent' => $base_plugin_definition['id'] . ':node.add',
           'route_parameters' => ['node_type' => $type->id()],
@@ -321,8 +330,8 @@ class ExtraLinks extends DeriverBase implements ContainerDeriverInterface {
       // We do not display more than 10 different menus.
       $menus = $this->entityTypeManager->getStorage('menu')->loadMultiple();
       uasort($menus, [Menu::class, 'sort']);
-      $menus = array_slice($menus, 0, self::MAX_BUNDLE_NUMBER);
-      if (count($menus) == self::MAX_BUNDLE_NUMBER) {
+      $menus = array_slice($menus, 0, $max_bundle_number);
+      if (count($menus) == $max_bundle_number) {
         $links['entity.menu.collection'] = [
           'title' => $this->t('All menus'),
           'route_name' => 'entity.menu.collection',
diff --git a/admin_toolbar_tools/src/SearchLinks.php b/admin_toolbar_tools/src/SearchLinks.php
index 703edbe..e458729 100644
--- a/admin_toolbar_tools/src/SearchLinks.php
+++ b/admin_toolbar_tools/src/SearchLinks.php
@@ -2,7 +2,6 @@
 
 namespace Drupal\admin_toolbar_tools;
 
-use Drupal\admin_toolbar_tools\Plugin\Derivative\ExtraLinks;
 use Drupal\Core\Cache\Cache;
 use Drupal\Core\Cache\CacheBackendInterface;
 use Drupal\Core\Cache\Context\CacheContextsManager;
@@ -13,6 +12,7 @@ use Drupal\Core\Routing\RouteProviderInterface;
 use Drupal\Core\StringTranslation\StringTranslationTrait;
 use Drupal\Core\Url;
 use Drupal\system\Entity\Menu;
+use Drupal\Core\Config\ConfigFactoryInterface;
 
 /**
  * Extra search links.
@@ -56,15 +56,23 @@ class SearchLinks {
    */
   protected $toolbarCache;
 
+  /**
+   * A config object for the system performance configuration.
+   *
+   * @var \Drupal\Core\Config\Config
+   */
+  protected $config;
+
   /**
    * {@inheritdoc}
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, CacheContextsManager $cache_context_manager, CacheBackendInterface $toolbar_cache) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, ModuleHandlerInterface $module_handler, RouteProviderInterface $route_provider, CacheContextsManager $cache_context_manager, CacheBackendInterface $toolbar_cache, ConfigFactoryInterface $config_factory) {
     $this->entityTypeManager = $entity_type_manager;
     $this->moduleHandler = $module_handler;
     $this->routeProvider = $route_provider;
     $this->cacheContextManager = $cache_context_manager;
     $this->toolbarCache = $toolbar_cache;
+    $this->config = $config_factory->get('max_bundle.settings');
   }
 
   /**
@@ -77,6 +85,7 @@ class SearchLinks {
    * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
    */
   public function getLinks() {
+    $max_bundle_number = $this->config->get('max_bundle_number');
     $additional_keys = $this->cacheContextManager->convertTokensToKeys([
       'languages:' . LanguageInterface::TYPE_INTERFACE,
       'user.permissions',
@@ -98,7 +107,7 @@ class SearchLinks {
       $content_entity = $entities['content_entity'];
       // Start at offset 10, since the toolbar has already loaded the first 10.
       $content_entity_bundle_storage = $this->entityTypeManager->getStorage($content_entity_bundle);
-      $bundles_ids = $content_entity_bundle_storage->getQuery()->range(ExtraLinks::MAX_BUNDLE_NUMBER)->execute();
+      $bundles_ids = $content_entity_bundle_storage->getQuery()->range($max_bundle_number)->execute();
       if (!empty($bundles_ids)) {
         $bundles = $this->entityTypeManager
           ->getStorage($content_entity_bundle)
@@ -182,7 +191,7 @@ class SearchLinks {
 
       $menus = $this->entityTypeManager->getStorage('menu')->loadMultiple();
       uasort($menus, [Menu::class, 'sort']);
-      $menus = array_slice($menus, ExtraLinks::MAX_BUNDLE_NUMBER);
+      $menus = array_slice($menus, $max_bundle_number);
 
       $cache_tags = Cache::mergeTags($cache_tags, ['config:menu_list']);
       foreach ($menus as $menu_id => $menu) {
