diff --git a/includes/views/views_lazy_load_plugin_display_extender.inc b/includes/views/views_lazy_load_plugin_display_extender.inc
index 9c724ae..bbe8c21 100644
--- a/includes/views/views_lazy_load_plugin_display_extender.inc
+++ b/includes/views/views_lazy_load_plugin_display_extender.inc
@@ -11,7 +11,7 @@ class views_lazy_load_plugin_display_extender extends views_plugin_display_exten
    */
   public function pre_execute() {
     if ($this->isEnabled() && empty($this->view->live_preview)) {
-      if (!$this->isClientCrawler()) {
+      if (!$this->isExcludedUserAgent()) {
         // Lazy loading requires an AJAX view.
         $this->view->set_use_ajax(TRUE);
 
@@ -34,7 +34,7 @@ class views_lazy_load_plugin_display_extender extends views_plugin_display_exten
         drupal_add_js($path . '/js/views-lazy-load.js', array('scope' => 'footer', 'weight' => 10));
       }
       else {
-        // Ensure that ajax won't be used if a crawler is visiting the view
+        // Ensure that AJAX won't be used if a crawler is visiting the view
         $this->view->set_use_ajax(FALSE);
       }
     }
@@ -48,18 +48,21 @@ class views_lazy_load_plugin_display_extender extends views_plugin_display_exten
   }
 
   /**
-   * Check the user agent string to see if the client is a crawler. 
+   * Check the user agent string to see if it's one of our excluded agents.
    * 
-   * The output is returned as a bool
+   * @return bool
+   *   TRUE if the current user agent should be excluded otherwise FALSE.
    */
-  function isClientCrawler() {
+  function isExcludedUserAgent() {
     $user_agent = $_SERVER['HTTP_USER_AGENT'];
-    $crawlers = variable_get("views_lazy_load_webcrawlers", VIEWS_LAZY_LOAD_DEFAULT_CRAWLERS);
+    $excluded_user_agents = views_lazy_load_get_excluded_user_agents();
 
-    // No preg_quote here because it would escape our needed pipes
-    $pattern = "/" . $crawlers . "/i";
+    // Implode to a string separated by a unique separator ",,,", escape the
+    // string so it's safe for the regex and then replace our separator with
+    // pipes so each user agent is OR'd.
+    $excluded_user_agents = str_replace(',,,', '|', preg_quote(implode(',,,', $excluded_user_agents)));
 
-    return (bool) preg_match($pattern, $user_agent);
+    return (bool) preg_match("/$excluded_user_agents/i", $user_agent);
   }
 
   /**
diff --git a/views_lazy_load.admin.inc b/views_lazy_load.admin.inc
index c96756f..0f708d5 100644
--- a/views_lazy_load.admin.inc
+++ b/views_lazy_load.admin.inc
@@ -3,28 +3,30 @@
  * @file
  * Admin page callbacks for the views_lazy_load module
  */
+
  /**
-  * Implements hook_admin_settings().
+  * Admin settings form callback.
   */
 function views_lazy_load_admin_settings() {
-  $crawlers = variable_get("views_lazy_load_webcrawlers", VIEWS_LAZY_LOAD_DEFAULT_CRAWLERS);
-
-  $form['views_lazy_load_crawlers'] = array(
+  $user_agents = views_lazy_load_get_excluded_user_agents();
+  $form['views_lazy_load_excluded_user_agents'] = array(
     '#type' => 'textarea',
-    '#title' => t('Crawlers that Views Lazy Load will respect:'),
-    '#default_value' => str_replace("|", "\n", stripslashes($crawlers)), //Strips slashes from previously preg_quoted lines
-    '#description' => t('Views won\'t be lazy when visited by these crawlers (enter one per line)')
+    '#title' => t('User Agents that will disable the lazy loading'),
+    '#default_value' => implode("\r\n", $user_agents),
+    '#description' => t("Views won't be lazy when visited by these user agents (enter one per line)"),
+    '#value_callback' => 'views_lazy_load_excluded_user_agents'
   );
 
-  $form['#submit'][] = 'views_lazy_load_admin_settings_submit';
-
   return system_settings_form($form);
 }
+
 /**
- * Implements hook_submit().
+ * Value callback for the views_lazy_load_excluded_user_agents textarea.
  */
-function views_lazy_load_admin_settings_submit($form, $form_state) {
-  // preg_quote here prevents some regexp character in the agent strings to mess with our comparisson
-  $crawlers = explode("\r\n", preg_quote($form_state['values']['views_lazy_load_crawlers']));
-  variable_set("views_lazy_load_webcrawlers", implode("|", $crawlers));
+function views_lazy_load_excluded_user_agents($element, $input = FALSE, $form_state) {
+  if ($input) {
+    // Explode the values from the textarea back into an array for storage.
+    $input = explode("\r\n", $input);
+    return $input;
+  }
 }
diff --git a/views_lazy_load.module b/views_lazy_load.module
index 1fa7681..2fce2cc 100644
--- a/views_lazy_load.module
+++ b/views_lazy_load.module
@@ -4,29 +4,6 @@
  * @file
  * Module file for views_lazy_load.module.
  */
-/* Default crawlers */
-define("VIEWS_LAZY_LOAD_DEFAULT_CRAWLERS", implode("|", array(
-  "Googlebot",
-  "msnbot",
-  "Rambler",
-  "Yahoo",
-  "AbachoBOT",
-  "accoona",
-  "AcioRobot",
-  "APSeek",
-  "CocoCrawler",
-  "Dumbot",
-  "FAST-WebCrawler",
-  "GeonaBot",
-  "Gigabot",
-  "Lycos",
-  "MSRBOT",
-  "Scooter",
-  "AltaVista",
-  "IDBot",
-  "eStyle",
-  "Scrubby"
-)));
 
 /**
  * Implements hook_views_api().
@@ -51,7 +28,7 @@ function views_lazy_load_theme() {
  * Theme callback.
  */
 function theme_views_lazy_load_throbber() {
-  return '<div class="views-lazy-load">'.t('Loading').'...</div>';
+  return '<div class="views-lazy-load">' . t('Loading') . '...</div>';
 }
 
 /**
@@ -68,8 +45,8 @@ function views_html_head_alter() {
  */
 function views_lazy_load_menu() {
   $items = array();
-  $items['admin/config/views_lazy_load/settings'] = array(
-    'title' => t('Views Lazy Load Configurations'),
+  $items['admin/config/media/settings'] = array(
+    'title' => 'Views Lazy Load',
     'description' => 'Change views lazy load default configuration',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('views_lazy_load_admin_settings'),
@@ -78,3 +55,36 @@ function views_lazy_load_menu() {
   );
   return $items;
 }
+
+/**
+ * Gets an array of user agents.
+ *
+ * @return array
+ *   An array of user agents.
+ */
+function views_lazy_load_get_excluded_user_agents() {
+  $user_agents = array(
+    'Googlebot',
+    'msnbot',
+    'Rambler',
+    'Yahoo',
+    'AbachoBOT',
+    'accoona',
+    'AcioRobot',
+    'APSeek',
+    'CocoCrawler',
+    'Dumbot',
+    'FAST-WebCrawler',
+    'GeonaBot',
+    'Gigabot',
+    'Lycos',
+    'MSRBOT',
+    'Scooter',
+    'AltaVista',
+    'IDBot',
+    'eStyle',
+    'Scrubby',
+  );
+
+  return variable_get('views_lazy_load_excluded_user_agents', $user_agents);
+}
diff --git a/views_lazy_load.test b/views_lazy_load.test
index cd89e95..1932466 100644
--- a/views_lazy_load.test
+++ b/views_lazy_load.test
@@ -58,12 +58,12 @@ class ViewsLazyLoadTest extends DrupalWebTestCase {
 
     // Make sure that our view won't be lazy under a crawler robot visit
     // Set our agent to some robot's agent:
+    unset($_GET['views_lazy_load_disabled']);
     $_SERVER['HTTP_USER_AGENT'] = "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)";
     $view = $this->getTestView(TRUE);
     $output = $view->preview();
     $this->assertNotContains('Loading...', $output, 'The view output does not have the lazy loading text because of the webcrawler\'s agent.');
 
-    unset($_GET['views_lazy_load_disabled']);
   }
 
   /**
