diff --git a/theme/views_slideshow.theme.inc b/theme/views_slideshow.theme.inc
index c98cd91..962eea1 100644
--- a/theme/views_slideshow.theme.inc
+++ b/theme/views_slideshow.theme.inc
@@ -86,6 +86,7 @@ function _views_slideshow_preprocess_views_slideshow(&$vars) {
         )
       )
     );
+    drupal_add_library('views_slideshow', 'views_slideshow');
     drupal_add_js($js_settings, 'setting');
 
     /**
@@ -190,6 +191,7 @@ function theme_views_slideshow_pager_widget_render($vars) {
     ),
   );
 
+  drupal_add_library('views_slideshow', 'views_slideshow');
   drupal_add_js($js_vars, 'setting');
 
   // Create some attributes
@@ -214,6 +216,7 @@ function _views_slideshow_preprocess_views_slideshow_pager_fields(&$vars) {
   );
 
   // Add the settings to the page.
+  drupal_add_library('views_slideshow', 'views_slideshow');
   drupal_add_js($js_vars, 'setting');
 
   // Add hover intent library
@@ -275,6 +278,7 @@ function theme_views_slideshow_controls_widget_render($vars) {
     ),
   );
 
+  drupal_add_library('views_slideshow', 'views_slideshow');
   drupal_add_js($js_vars, 'setting');
 
   $output = '';
diff --git a/views_slideshow.module b/views_slideshow.module
index 8254b82..b0862d9 100644
--- a/views_slideshow.module
+++ b/views_slideshow.module
@@ -94,14 +94,26 @@ function views_slideshow_help($path, $arg) {
 }
 
 /**
- * Implements hook_init().
+ * Implements hook_library().
  */
-function views_slideshow_init() {
-  // Load javascript on the page in init to help fool caching.
-  drupal_add_js(drupal_get_path('module', 'views_slideshow') . '/js/views_slideshow.js');
+function views_slideshow_library() {
+  $libraries = array();
+
+  $libraries['views_slideshow'] = array(
+    'title' => 'Views slideshow',
+    'version' => '1.0',
+    'js' => array(
+      drupal_get_path('module', 'views_slideshow') . '/js/views_slideshow.js' => array(),
+    ),
+    'css' => array(
+      drupal_get_path('module', 'views_slideshow') . '/views_slideshow.css' => array(
+        'type' => 'file',
+        'media' => 'screen',
+      ),
+    ),
+  );
 
-  $vs_path = drupal_get_path('module', 'views_slideshow');
-  drupal_add_css($vs_path . '/views_slideshow.css');
+  return $libraries;
 }
 
 /**
