diff --git a/README b/README
index 3adedfa..2c73bca 100644
--- a/README
+++ b/README
@@ -11,6 +11,12 @@ This module adds respond.js in a responsible manner:
   provide presentational benefits you deem more important
   than your IE userbase. We won't judge you :)
 
+Installing the library:
+
+* Download the library from https://github.com/scottjehl/Respond
+* Add this folder with the name 'respond' in your libraries folder, f.e. sites/all/libraries
+* Check the Status Report page if the library is succesfully installed
+
 
 Module originally written by Chris Ruppel at Four Kitchens
 -- http://drupal.org/project/respondjs
diff --git a/lib/respond.min.js b/lib/respond.min.js
deleted file mode 100644
index b7fe2f4..0000000
--- a/lib/respond.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! Respond.js v1.0.1pre: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs  */
-(function(e,h){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=h;if(h){return}var u=e.document,r=u.documentElement,i=[],k=[],p=[],o={},g=30,f=u.getElementsByTagName("head")[0]||r,b=f.getElementsByTagName("link"),d=[],a=function(){var B=b,w=B.length,z=0,y,x,A,v;for(;z<w;z++){y=B[z],x=y.href,A=y.media,v=y.rel&&y.rel.toLowerCase()==="stylesheet";if(!!x&&v&&!o[x]){if(y.styleSheet&&y.styleSheet.rawCssText){m(y.styleSheet.rawCssText,x,A);o[x]=true}else{if(!/^([a-zA-Z]+?:(\/\/)?)/.test(x)||x.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:x,media:A})}}}}t()},t=function(){if(d.length){var v=d.shift();n(v.href,function(w){m(w,v.href,v.media);o[v.href]=true;t()})}},m=function(G,v,x){var E=G.match(/@media[^\{]+\{([^\{\}]+\{[^\}\{]+\})+/gi),H=E&&E.length||0,v=v.substring(0,v.lastIndexOf("/")),w=function(I){return I.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+v+"$2$3")},y=!H&&x,B=0,A,C,D,z,F;if(v.length){v+="/"}if(y){H=1}for(;B<H;B++){A=0;if(y){C=x;k.push(w(G))}else{C=E[B].match(/@media ([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&w(RegExp.$2))}z=C.split(",");F=z.length;for(;A<F;A++){D=z[A];i.push({media:D.match(/(only\s+)?([a-zA-Z]+)(\sand)?/)&&RegExp.$2,rules:k.length-1,minw:D.match(/\(min\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1),maxw:D.match(/\(max\-width:[\s]*([\s]*[0-9]+)px[\s]*\)/)&&parseFloat(RegExp.$1)})}}j()},l,q,j=function(E){var v="clientWidth",x=r[v],D=u.compatMode==="CSS1Compat"&&x||u.body[v]||x,z={},C=u.createDocumentFragment(),B=b[b.length-1],w=(new Date()).getTime();if(E&&l&&w-l<g){clearTimeout(q);q=setTimeout(j,g);return}else{l=w}for(var y in i){var F=i[y];if(!F.minw&&!F.maxw||(!F.minw||F.minw&&D>=F.minw)&&(!F.maxw||F.maxw&&D<=F.maxw)){if(!z[F.media]){z[F.media]=[]}z[F.media].push(k[F.rules])}}for(var y in p){if(p[y]&&p[y].parentNode===f){f.removeChild(p[y])}}for(var y in z){var G=u.createElement("style"),A=z[y].join("\n");G.type="text/css";G.media=y;if(G.styleSheet){G.styleSheet.cssText=A}else{G.appendChild(u.createTextNode(A))}C.appendChild(G);p.push(G)}f.insertBefore(C,B.nextSibling)},n=function(v,x){var w=c();if(!w){return}w.open("GET",v,true);w.onreadystatechange=function(){if(w.readyState!=4||w.status!=200&&w.status!=304){return}x(w.responseText)};if(w.readyState==4){return}w.send(null)},c=(function(){var v=false;try{v=new XMLHttpRequest()}catch(w){v=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return v}})();a();respond.update=a;function s(){j(true)}if(e.addEventListener){e.addEventListener("resize",s,false)}else{if(e.attachEvent){e.attachEvent("onresize",s)}}})(this,(function(f){if(f.matchMedia){return true}var e,i=document,c=i.documentElement,g=c.firstElementChild||c.firstChild,h=!i.body,d=i.body||i.createElement("body"),b=i.createElement("div"),a="only all";b.id="mq-test-1";b.style.cssText="position:absolute;top:-99em";d.appendChild(b);b.innerHTML='_<style media="'+a+'"> #mq-test-1 { width: 9px; }</style>';if(h){c.insertBefore(d,g)}b.removeChild(b.firstChild);e=b.offsetWidth==9;if(h){c.removeChild(d)}else{d.removeChild(b)}return e})(this));
\ No newline at end of file
diff --git a/respondjs.info b/respondjs.info
index c161739..aa7e59c 100644
--- a/respondjs.info
+++ b/respondjs.info
@@ -3,5 +3,6 @@ description = Respond.js integration for Drupal
 core = 7.x
 package = Responsive
 files[] = respondjs.module
+dependencies[] = libraries
 
 ; Module originally written by Chris Ruppel at Four Kitchens
diff --git a/respondjs.module b/respondjs.module
index fff1718..39bd43b 100644
--- a/respondjs.module
+++ b/respondjs.module
@@ -7,7 +7,8 @@ function respondjs_init() {
   // We need respond.js to load as soon as possible, because it can affect
   // the presentation of a page. The options below ensure that it happens.
   drupal_add_js(
-    drupal_get_path('module','respondjs') .'/lib/respond.min.js',
+    // i'd love to call respondjs_get_library_file() directly here
+    libraries_get_path('respond') .'/respond.min.js',
     array(
       'type' => 'file',
       'scope' => 'header',
@@ -18,4 +19,62 @@ function respondjs_init() {
     )
   );
 
+/**
+ * Implements hook_library().
+ */
+function respondjs_library() {
+  $libraries['respondjs'] = array(
+    'title' => 'Respond.js',
+    'website' => 'https://github.com/scottjehl/Respond',
+    'version' => '',
+    'js' => array(
+      respondjs_get_library_file() => array(),
+    ),
+  );
+  return $libraries;
+}
+
+/**
+ * Implements hook_requirements().
+ */
+function respondjs_requirements($phase) {
+	$requirements = array();
+  if ($phase == "runtime") {
+    $library_path = respondjs_get_library_file();
+    $requirements['respond'] = array(
+      'title' => t('Respond.js script'),
+      'value' => t('Respond.js is installed.'),
+    );
+    if (!file_exists($library_path)) {
+      $requirements['respond']['value'] = t('Respond.js is not correctly installed');
+      $requirements['respond']['severity'] = REQUIREMENT_ERROR;
+      $requirements['respond']['description'] = t('Please install Respond.js in the libraries folder');
+    }
+  }
+  return $requirements;
+}
+
+/**
+ * Get the path to the library directory
+ */
+function respondjs_get_library_path() {
+  if (function_exists('libraries_get_path')) {
+    $path = libraries_get_path('respond');
+  }
+  elseif (file_exists('sites/all/libraries/respond') && is_dir('sites/all/libraries/respond')) {
+    $path = 'sites/all/libraries/respond';
+  }
+  else {
+    $path = drupal_get_path('module', 'respondjs') . '/respond';
+  }
+  return $path;
+}
+
+/**
+ * Get the path to the library Javascript file
+ */
+function respondjs_get_library_file() {
+  return respondjs_get_library_path() . '/respond.min.js';
 }
+
+}
\ No newline at end of file
