diff --git a/fblikebutton.info b/fblikebutton.info
index b9b5565..6f9f402 100644
--- a/fblikebutton.info
+++ b/fblikebutton.info
@@ -3,3 +3,5 @@ name = Facebook Like Button
 description = Adds a configurable <em>Like</em> button for Facebook to each selected node type, as well as a configurable block with a <em>Like</em> box in it.
 core = 7.x
 configure = admin/config/fblikebutton
+
+files[] = views/fblikebutton_handler_field_fblikebutton.inc
\ No newline at end of file
diff --git a/fblikebutton.module b/fblikebutton.module
index 2ac6370..af9e6a9 100644
--- a/fblikebutton.module
+++ b/fblikebutton.module
@@ -249,6 +249,16 @@ function _fblikebutton_field($webpage_to_like, $conf) {
 }
 
 /**
+ * Implements hook_views_api().
+ */
+function fblikebutton_views_api() {
+  return array(
+    'api' => 3,
+    'path' => drupal_get_path('module', 'fblikebutton') . '/views',
+  );
+}
+
+/**
  * Implements hook_theme().
  */
 function fblikebutton_theme() {
diff --git a/views/fblikebutton.views.inc b/views/fblikebutton.views.inc
new file mode 100644
index 0000000..ca5d172
--- /dev/null
+++ b/views/fblikebutton.views.inc
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * Implements hook_views_data().
+ */
+function fblikebutton_views_data() {
+  $data['node']['fblikebutton'] = array(
+    'field' => array(
+      'title' => t('Facebook Like Button'),
+      'help' => t('Adds a facebook like button.'),
+      'handler' => 'fblikebutton_handler_field_fblikebutton',
+    ),
+  );
+  
+  return $data;
+}
\ No newline at end of file
diff --git a/views/fblikebutton_handler_field_fblikebutton.inc b/views/fblikebutton_handler_field_fblikebutton.inc
new file mode 100644
index 0000000..3101e4f
--- /dev/null
+++ b/views/fblikebutton_handler_field_fblikebutton.inc
@@ -0,0 +1,40 @@
+<?php
+
+class fblikebutton_handler_field_fblikebutton extends views_handler_field {
+  function construct() {
+    parent::construct();
+    $this->additional_fields['type'] = 'type';
+  }
+  
+  function query() {
+    $this->ensure_my_table();
+    $this->add_additional_fields();
+  }
+
+  function render($values) {
+    $output = NULL;
+    $nid = $values->nid;
+    $types = variable_get('fblikebutton_node_types', array());
+    $show = (!empty($types[$values->node_type]) && user_access('access fblikebutton'));
+    
+    $conf = array(
+      'layout' => variable_get('fblikebutton_layout', 'standard'),
+      'action' => variable_get('fblikebutton_action', 'like'),
+      'color_scheme' => variable_get('fblikebutton_color_scheme', 'light'),
+      'show_faces' => variable_get('fblikebutton_show_faces', 'true'),
+      'font' => variable_get('fblikebutton_font', 'arial'),
+      'height' => variable_get('fblikebutton_iframe_height', '80'),
+      'width' => variable_get('fblikebutton_iframe_width', '450'),
+      'send' => variable_get('fblikebutton_send', 'true'),
+      'other_css' => variable_get('fblikebutton_iframe_css', ''),
+      'language' => variable_get('fblikebutton_language', 'en_US'),
+    );
+    $webpage_to_like = url("node/$nid", array('absolute' => TRUE));
+    
+    if ($show) {
+      $output = _fblikebutton_field($webpage_to_like, $conf);
+    }
+    
+    return $output;
+  }
+}
\ No newline at end of file
