diff --git a/timeago.module b/timeago.module
index cd2b65e..7721c38 100644
--- a/timeago.module
+++ b/timeago.module
@@ -83,7 +83,7 @@ function timeago_library() {
     'timeago' => array(
       'title' => t('Time ago'),
       'website' => 'http://timeago.yarp.com/',
-      'version' => '0.9.3',
+      'version' => '0.10.0',
       'js' => array(
         $path . '/jquery.timeago.js' => array(),
         $path . '/timeago.js' => array(),
@@ -93,6 +93,28 @@ function timeago_library() {
 }
 
 /**
+ * Implements hook_libraries_info().
+ */
+function timeago_libraries_info() {
+  return array(
+    'timeago' => array(
+      'name' => t('Time ago'),
+      'vendor url' => 'http://timeago.yarp.com/',
+      'download url' => 'http://timeago.yarp.com/jquery.timeago.js',
+      'version arguments' => array(
+        'file' => 'jquery.timeago.js',
+        'pattern' => '@version\s+([0-9a-zA-Z\.-]+)@', // e.g. @version 0.10.0
+      ),
+      'files' => array(
+        'js' => array(
+          'jquery.timeago.js' => array(),
+        ),
+      ),
+    ),
+  );
+}
+
+/**
  * Implements hook_process_node().
  *
  * We have to use process instead of preprocess because some themes (notably
@@ -167,7 +189,14 @@ function timeago_tokens($type, $tokens, array $data = array(), array $options =
 function timeago_add_js() {
   // Add the Timeago library, the module's helper JS, and the default Drupal
   // translation of Timeago date terms.
-  drupal_add_library('timeago', 'timeago');
+  if (module_exists('libraries')) {
+    $path = drupal_get_path('module', 'timeago') . '/timeago.js';
+    drupal_add_js($path);
+    libraries_load('timeago');
+  }
+  else {
+    drupal_add_library('timeago', 'timeago');
+  }
   // Some languages (Arabic, Polish, Russian, Ukranian, etc.) have different
   // suffixes depending on the numbers used in the dates, so we may need to
   // have more complex translations than Drupal allows. To support these cases,
