diff --git a/hoverintent.info b/hoverintent.info
index 9dfdbe2..f683da8 100644
--- a/hoverintent.info
+++ b/hoverintent.info
@@ -1,4 +1,4 @@
 name = "hoverIntent"
 description = "Wrapper for the hoverIntent jQuery Plugin."
 package = User interface
-core = 6.x
\ No newline at end of file
+core = 7.x
\ No newline at end of file
diff --git a/hoverintent.install b/hoverintent.install
deleted file mode 100644
index 1e14f63..0000000
--- a/hoverintent.install
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-function hoverintent_install() {
-  if(function_exists('jq_plugins')){
-    jq_plugins(NULL, FALSE, TRUE);
-  }
-}
diff --git a/hoverintent.module b/hoverintent.module
index 5db48f0..0abe157 100644
--- a/hoverintent.module
+++ b/hoverintent.module
@@ -3,39 +3,23 @@
 /**
  * @file
  * A wrapper for the hoverintent jquery plugin
- */
-
-/**
- *  Implements hook_jq().
  *
- *  This will register the plugin with the jQ module.
- *  To invoke, use jq_add('hoverIntent');
+ * Add drupal_add_library('hoverintent', 'hoverintent', TRUE); to your themes
+ * temlate.php to load the library. If the file doesn't exist yet, create it.
  */
-function hoverintent_jq($op, $plugin = NULL) {
-  switch ($op) {
-    case 'info':
-      $version = "hoverIntent r5 // 2007.03.27 // jQuery 1.1.2";
-      $url = 'http://plugins.jquery.com/project/hoverIntent';
-      return array(
-        'hoverIntent' => array(
-          'name' => t('hoverIntent'),
-          'description' => t("HoverIntent is similar to jQuery's hover. However, instead of calling onMouseOver and onMouseOut functions immediately, this plugin tracks the user's mouse onMouseOver and waits until it slows down before calling the onMouseOver function... and it will only call the onMouseOut function after an onMouseOver is called."),
-          'version' => $version,
-          'url' => $url,
-          'files' => array(
-            'js' => array(
-              drupal_get_path('module', 'hoverintent') . '/js/jquery.hoverIntent.minified.js',
-            ),
-          ),
-        ),
-      );
-    break;
-  }
-}
 
 /**
- *  This adds the plugin manually, without going through jQ.
+ * Implements hook_library().
  */
-function hoverintent_add() {
-  drupal_add_js(drupal_get_path('module', 'hoverintent') . '/js/jquery.hoverIntent.minified.js');
-}
+function hoverintent_library() {
+  // Library One.
+  $libraries['hoverintent'] = array(
+    'title' => 'hoverIntent', 
+    'website' => 'http://cherne.net/brian/resources/jquery.hoverIntent.html', 
+    'version' => 'r6', 
+    'js' => array(
+      drupal_get_path('module', 'hoverintent') . '/js/jquery.hoverIntent.minified.js' => array(),
+    ), 
+  );
+  return $libraries;
+}
\ No newline at end of file
diff --git a/js/jquery.hoverIntent.minified.js b/js/jquery.hoverIntent.minified.js
index 3c50c84..75c22ca 100644
--- a/js/jquery.hoverIntent.minified.js
+++ b/js/jquery.hoverIntent.minified.js
@@ -1,10 +1,9 @@
-﻿/**
-* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2
+/**
+* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
 * <http://cherne.net/brian/resources/jquery.hoverIntent.html>
 * 
 * @param  f  onMouseOver function || An object with configuration options
 * @param  g  onMouseOut function  || Nothing (use configuration options object)
-* @return    The object (aka "this") that called hoverIntent, and the event object
-* @author    Brian Cherne <brian@cherne.net>
+* @author    Brian Cherne brian(at)cherne(dot)net
 */
-(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
\ No newline at end of file
+(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);
\ No newline at end of file
