diff --git a/bef_links_filter.info.yml b/bef_links_filter.info.yml
index 8b46ce9..2748b5d 100644
--- a/bef_links_filter.info.yml
+++ b/bef_links_filter.info.yml
@@ -1,7 +1,7 @@
 name: BEF Links Filter
 type: module
 description: Adds a filterable links filter for use in Better Exposed Filters.
-core_version_requirement: ^8 || ^9 || ^10 || ^11
+core_version_requirement: ^10.1 || ^11 || ^12
 package: Views
 dependencies:
   - better_exposed_filters:better_exposed_filters
diff --git a/bef_links_filter.module b/bef_links_filter.module
index 5f5325e..8cbf8ad 100644
--- a/bef_links_filter.module
+++ b/bef_links_filter.module
@@ -1,5 +1,8 @@
 <?php
 
+use Drupal\Core\Hook\Attribute\LegacyHook;
+use Drupal\bef_links_filter\Hook\BefLinksFilterHooks;
+
 /**
  * @file
  * Main module file.
@@ -10,12 +13,9 @@
 /**
  * Implements hook_theme().
  */
+#[LegacyHook]
 function bef_links_filter_theme($existing, $type, $theme, $path): array {
-  return [
-    'bef_links_filter' => [
-      'render element' => 'element',
-    ],
-  ];
+  return \Drupal::service(BefLinksFilterHooks::class)->theme($existing, $type, $theme, $path);
 }
 
 /**
diff --git a/bef_links_filter.services.yml b/bef_links_filter.services.yml
new file mode 100644
index 0000000..fba20c0
--- /dev/null
+++ b/bef_links_filter.services.yml
@@ -0,0 +1,5 @@
+
+services:
+  Drupal\bef_links_filter\Hook\BefLinksFilterHooks:
+    class: Drupal\bef_links_filter\Hook\BefLinksFilterHooks
+    autowire: true
diff --git a/src/Hook/BefLinksFilterHooks.php b/src/Hook/BefLinksFilterHooks.php
new file mode 100644
index 0000000..56586b6
--- /dev/null
+++ b/src/Hook/BefLinksFilterHooks.php
@@ -0,0 +1,29 @@
+<?php
+
+namespace Drupal\bef_links_filter\Hook;
+
+use Drupal\Core\Hook\Attribute\Hook;
+/**
+ * Hook implementations for bef_links_filter.
+ */
+class BefLinksFilterHooks
+{
+    /**
+     * @file
+     * Main module file.
+     *
+     * Theme hooks, preprocessor, and suggestions.
+     */
+    /**
+     * Implements hook_theme().
+     */
+    #[Hook('theme')]
+    public static function theme($existing, $type, $theme, $path): array
+    {
+        return [
+            'bef_links_filter' => [
+                'render element' => 'element',
+            ],
+        ];
+    }
+}
