diff --git a/src/Hook/ViewsConditionalViewsHooks.php b/src/Hook/ViewsConditionalViewsHooks.php
new file mode 100644
index 0000000..63679ee
--- /dev/null
+++ b/src/Hook/ViewsConditionalViewsHooks.php
@@ -0,0 +1,41 @@
+<?php
+
+namespace Drupal\views_conditional\Hook;
+
+use Drupal\Core\Hook\Attribute\Hook;
+use Drupal\Core\StringTranslation\StringTranslationTrait;
+
+/**
+ * Hook implementations for views_conditional.
+ */
+class ViewsConditionalViewsHooks {
+  use StringTranslationTrait;
+  /**
+   * @file
+   * Include file for defining views handlers and data.
+   */
+
+  /**
+   * Implements hook_views_data().
+   *
+   * {@inheritdoc}
+   */
+  #[Hook('views_data')]
+  public function viewsData(): array {
+    $data = [];
+    $data['views_conditional']['table']['group'] = $this->t('Views');
+    $data['views_conditional']['table']['join'] = [
+      '#global' => [],
+    ];
+    $data['views_conditional']['views_conditional_field'] = [
+      'title' => $this->t('Views Conditional'),
+      'field' => [
+        'title' => $this->t('Views Conditional'),
+        'help' => $this->t('Output data based off of certain criteria.'),
+        'id' => 'views_conditional_field',
+      ],
+    ];
+    return $data;
+  }
+
+}
diff --git a/views_conditional.install b/views_conditional.install
index cb14b15..9248dd5 100644
--- a/views_conditional.install
+++ b/views_conditional.install
@@ -46,7 +46,7 @@ function views_conditional_update_8001(&$sandbox): void {
     }
     if ($save) {
       $view->set('display', $displays);
-      $view->save(TRUE);
+      $view->save();
     }
   }
 }
diff --git a/views_conditional.services.yml b/views_conditional.services.yml
new file mode 100644
index 0000000..3ef6a2b
--- /dev/null
+++ b/views_conditional.services.yml
@@ -0,0 +1,5 @@
+
+services:
+  Drupal\views_conditional\Hook\ViewsConditionalViewsHooks:
+    class: Drupal\views_conditional\Hook\ViewsConditionalViewsHooks
+    autowire: true
diff --git a/views_conditional.views.inc b/views_conditional.views.inc
index 2ac1a59..e456b01 100755
--- a/views_conditional.views.inc
+++ b/views_conditional.views.inc
@@ -1,5 +1,12 @@
 <?php
 
+/**
+ * @file
+ */
+
+use Drupal\Core\Hook\Attribute\LegacyHook;
+use Drupal\views_conditional\Hook\ViewsConditionalViewsHooks;
+
 /**
  * @file
  * Include file for defining views handlers and data.
@@ -10,21 +17,7 @@
  *
  * {@inheritdoc}
  */
+#[LegacyHook]
 function views_conditional_views_data(): array {
-  $data = [];
-  $data['views_conditional']['table']['group'] = t('Views');
-  $data['views_conditional']['table']['join'] = [
-    '#global' => [],
-  ];
-
-  $data['views_conditional']['views_conditional_field'] = [
-    'title' => t('Views Conditional'),
-    'field' => [
-      'title' => t('Views Conditional'),
-      'help' => t('Output data based off of certain criteria.'),
-      'id' => 'views_conditional_field',
-    ],
-  ];
-
-  return $data;
+  return \Drupal::service(ViewsConditionalViewsHooks::class)->viewsData();
 }
