diff --git a/src/Hook/TocifyHooks.php b/src/Hook/TocifyHooks.php
new file mode 100644
index 0000000..3d07d98
--- /dev/null
+++ b/src/Hook/TocifyHooks.php
@@ -0,0 +1,32 @@
+<?php
+
+namespace Drupal\tocify\Hook;
+
+use Drupal\Core\Routing\RouteMatchInterface;
+use Drupal\Core\Hook\Attribute\Hook;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
+
+/**
+ * Hook implementations for tocify.
+ */
+class TocifyHooks {
+  use StringTranslationTrait;
+
+  /**
+   * Implements hook_help().
+   */
+  #[Hook('help')]
+  public function help($route_name, RouteMatchInterface $route_match) {
+    switch ($route_name) {
+      // Main module help for the tocify module.
+      case 'help.page.tocify':
+        $output = '';
+        $output .= '<h3>' . $this->t('About') . '</h3>';
+        $output .= '<p>' . $this->t('Tocify your content') . '</p>';
+        return $output;
+
+      default:
+    }
+  }
+
+}
diff --git a/tocify.info.yml b/tocify.info.yml
index e1480e7..9211190 100644
--- a/tocify.info.yml
+++ b/tocify.info.yml
@@ -1,7 +1,7 @@
 name: Tocify
 type: module
 description: Tocify your content
-core_version_requirement: ^8.8 || ^9 || ^10 || ^11
+core_version_requirement: ^10.1 || ^11 || ^12
 package: Custom
 dependencies:
   - drupal:block
diff --git a/tocify.install b/tocify.install
index 5f3d1c2..caac2ce 100644
--- a/tocify.install
+++ b/tocify.install
@@ -1,5 +1,12 @@
 <?php
 
+/**
+ * @file
+ */
+
+use Drupal\Component\Utility\DeprecationHelper;
+use Drupal\Core\Extension\Requirement\RequirementSeverity;
+
 /**
  * @file
  * Contains install and update functions for tocify module.
@@ -15,7 +22,7 @@ function tocify_requirements($phase) {
       $requirements['jquery_tocify'] = [
         'description' => \Drupal::translation()
           ->translate('The Tocify module requires the jQuery Tocify Library. See the README.md file in the module folder for installation directions.'),
-        'severity' => REQUIREMENT_ERROR,
+        'severity' => DeprecationHelper::backwardsCompatibleCall(\Drupal::VERSION, '11.2.0', fn() => RequirementSeverity::Error, fn() => REQUIREMENT_ERROR),
       ];
     }
   }
diff --git a/tocify.module b/tocify.module
index ce0d124..e79bbe5 100644
--- a/tocify.module
+++ b/tocify.module
@@ -5,20 +5,14 @@
  * Contains tocify.module.
  */
 
+use Drupal\Core\Hook\Attribute\LegacyHook;
+use Drupal\tocify\Hook\TocifyHooks;
 use Drupal\Core\Routing\RouteMatchInterface;
 
 /**
  * Implements hook_help().
  */
+#[LegacyHook]
 function tocify_help($route_name, RouteMatchInterface $route_match) {
-  switch ($route_name) {
-    // Main module help for the tocify module.
-    case 'help.page.tocify':
-      $output = '';
-      $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('Tocify your content') . '</p>';
-      return $output;
-
-    default:
-  }
+  return \Drupal::service(TocifyHooks::class)->help($route_name, $route_match);
 }
diff --git a/tocify.services.yml b/tocify.services.yml
new file mode 100644
index 0000000..12e6685
--- /dev/null
+++ b/tocify.services.yml
@@ -0,0 +1,5 @@
+
+services:
+  Drupal\tocify\Hook\TocifyHooks:
+    class: Drupal\tocify\Hook\TocifyHooks
+    autowire: true
