diff --git annotate.module annotate.module
index ad7f6ca..d4d8b15 100644
--- annotate.module
+++ annotate.module
@@ -654,3 +654,13 @@ function _annotate_exists_by_node_by_user( $nid, $uid) {
   $row = db_fetch_array( $result);
   return $row['num'] > 0;
 }
+
+/**
+ * Implementation of hook_views_api.
+ */
+function annotate_views_api() {
+  return array(
+    'api' => 2.0,
+    'path' => drupal_get_path('module', 'annotate') . '/views',
+  );
+}
diff --git views/annotate.views.inc views/annotate.views.inc
new file mode 100644
index 0000000..ffd7d61
--- /dev/null
+++ views/annotate.views.inc
@@ -0,0 +1,124 @@
+<?php
+// $Id $
+
+/**
+ * @file
+ * Annotate Views support. Declares all the main tables to Views
+ * @author Frans Kuipers http://drupal.org/user/103267
+ **/
+
+/**
+ * hook_views_data()
+ */
+function annotate_views_data() {
+  $tables['annotations'] = array(
+    'table' => array(
+      'group' => t('Annotations'),
+      'join' => array(
+        'users' => array(
+          'table' => 'annotations',
+          'left_field' => 'uid',
+          'field' => 'uid'
+         ),
+         'node' => array(
+           'table' => 'annotations',
+           'left_field' => 'nid',
+           'field' => 'nid'
+         ),
+       ),
+      'base' => array(
+        'field' => 'note',
+        'title' => t('Notes added as annotations to node content.'),
+      ),
+    ),
+// Fields definitions
+    'note' => array(
+      'title' => t('Note'),
+      'help' => t('The note text for this node'),
+      // Information for displaying the note
+      'field' => array(
+/*
+        'handler' => 'views_handler_field_markup',
+        'format' => 'note_format',
+*/
+        'handler' => 'annotate_handler_field_note',
+        'format' => 'note_format',
+      ),
+    ),
+    'timestamp' => array(
+      'title' => t('Post date'),
+      'help' => t('Date and time of when the comment was posted.'),
+      'field' => array(
+        'handler' => 'views_handler_field_date',
+        'click sortable' => TRUE,
+      ),
+      'sort' => array(
+        'handler' => 'views_handler_sort_date',
+      ),
+      'filter' => array(
+        'handler' => 'views_handler_filter_date',
+      ),
+    ),
+    'visibility' => array(
+      'title' => t('Visibility'),
+      'help' => t('Visibility of the note, 0=private, 1=editor, 2=other, 3=collaborators.'),
+      'filter' => array(
+        'handler' => 'views_handler_filter_in_operator',
+        'options callback' => 'annotate_visibility_options',
+      ),
+    ),
+    'nid' => array(
+      'title' => t('Node'),
+      'help' => t('The node the note is annotated to.'),
+      'relationship' => array(
+        'base' => 'node',
+        'base field' => 'nid',
+        'handler' => 'views_handler_relationship',
+        'label' => t('Node'),
+      ),
+    ),
+
+    'uid' => array(
+      'title' => t('User'),
+      'help' => t("The User ID of the note's author."),
+      'relationship' => array(
+        'base' => 'users',
+        'base field' => 'uid',
+        'handler' => 'views_handler_relationship',
+        'label' => t('User'),
+      ),
+    ),
+  );
+
+  return $tables;
+}
+
+/**
+ *  Implementation of hook_views_handlers().
+ */
+function annotate_views_handlers() {
+  return array(
+    'info' => array(
+      'path' => drupal_get_path('module', 'annotate') . '/views',
+    ),
+    'handlers' => array(
+      // field handlers
+      'annotate_handler_field_note' => array(
+        'parent' => 'views_handler_field'
+      ),
+    ),
+
+  );
+}
+
+/**
+ *  Implementation of 'options callback'.
+ */
+function annotate_visibility_options() {
+  return array(
+     t('Private'),
+     t('Editor'),
+     t('Other'),
+     t('Collaborators'),
+  );
+}
\ No newline at end of file
diff --git views/annotate_handler_field_note.inc views/annotate_handler_field_note.inc
new file mode 100644
index 0000000..61a7bf1
--- /dev/null
+++ views/annotate_handler_field_note.inc
@@ -0,0 +1,36 @@
+<?php
+// $Id: views_handler_field_node_link_translate.inc,v 1.1.4.2 2010/03/19 23:09:54 merlinofchaos Exp $
+/**
+ * Field handler to present a link node translate.
+ */
+class annotate_handler_field_note extends views_handler_field {
+  function construct() {
+    parent::construct();
+    $this->additional_fields['uid'] = 'uid';
+    $this->additional_fields['format'] = 'note_format';
+  }
+
+  function access() {
+//    dsm($this);
+//    dsm($this->additional_fields['uid']);
+//    return annotate_user_has_annotations_access($this->additional_fields->values->annotations_uid);
+    return TRUE;
+  }
+
+
+
+  function render($values) {
+    // ensure user has access to edit this node.
+    $node = new stdClass();
+//    dsm($values);
+//    dsm($this);
+
+    $access = annotate_user_has_annotations_access($values->annotations_uid);
+//    dsm($access);
+    $value = $values->{$this->field_alias};
+    $format = $values->{$this->aliases['note_format']};
+    if ($value && $access) {
+      return check_markup($value, $format, FALSE);
+    }
+  }
+}
