diff --git a/stormnote/stormnote.admin.inc b/stormnote/stormnote.admin.inc
index e6dfd9d..1316bf7 100644
--- a/stormnote/stormnote.admin.inc
+++ b/stormnote/stormnote.admin.inc
@@ -2,254 +2,8 @@
 
 /**
  * @file
+ * File currently since the list functionality is now in views
  */
 
-function stormnote_list() {
-  $breadcrumb = array();
-  $breadcrumb[] = l(t('Storm'), 'storm');
-  drupal_set_breadcrumb($breadcrumb);
-
-  if (array_key_exists('organization_nid', $_GET)) {
-    if ($_SESSION['stormnote_list_filter']['organization_nid'] != $_GET['organization_nid']) {
-      $_SESSION['stormnote_list_filter']['organization_nid'] = $_GET['organization_nid'];
-    }
-    unset($_SESSION['stormnote_list_filter']['project_nid']);
-    unset($_SESSION['stormnote_list_filter']['task_nid']);
-  }
-
-  if (array_key_exists('project_nid', $_GET)) {
-    if ($_SESSION['stormnote_list_filter']['project_nid'] != $_GET['project_nid']) {
-      $_SESSION['stormnote_list_filter']['project_nid'] = $_GET['project_nid'];
-    }
-    $p = node_load($_GET['project_nid']);
-    $_SESSION['stormnote_list_filter']['organization_nid'] = $p->organization_nid;
-
-    unset($_SESSION['stormnote_list_filter']['task_nid']);
-  }
-
-  if (array_key_exists('task_nid', $_GET)) {
-    if ($_SESSION['stormnote_list_filter']['task_nid'] != $_GET['task_nid']) {
-      $_SESSION['stormnote_list_filter']['task_nid'] = $_GET['task_nid'];
-    }
-
-    $t = node_load($_GET['task_nid']);
-    $_SESSION['stormnote_list_filter']['organization_nid'] = $t->organization_nid;
-    $_SESSION['stormnote_list_filter']['project_nid'] = $t->project_nid;
-  }
-
-  $i = new stdClass();
-  $i->type = 'stormnote';
-
-  $params = $_GET;
-  if (isset($_SESSION['stormnote_list_filter']['organization_nid'])) {
-    $params['organization_nid'] = $_SESSION['stormnote_list_filter']['organization_nid'];
-  }
-
-  $header = array(
-    array(
-      'data' => t('Organization'),
-      'field' => 'sno.organization_title',
-    ),
-    array(
-      'data' => t('Project'),
-      'field' => 'sno.project_title',
-    ),
-    array(
-      'data' => t('Task'),
-      'field' => 'sno.task_title',
-    ),
-    array(
-      'data' => t('Title'),
-      'field' => 'n.title',
-    ),
-    array(
-      'data' => storm_icon_add_node($i, $params),
-      'class' => 'storm_list_operations',
-    ),
-  );
-
-  $s  = "SELECT n.title, sno.* FROM {node} AS n INNER JOIN {stormnote} AS sno ON n.vid=sno.vid WHERE n.status=1 AND n.type='stormnote' ";
-
-  $where = array();
-  $args = array();
-  $filterfields = array();
-
-  if (isset($_SESSION['stormnote_list_filter']['organization_nid']) && $_SESSION['stormnote_list_filter']['organization_nid'] != 0) {
-    $where[] = 'sno.organization_nid=%d';
-    $args[] = $_SESSION['stormnote_list_filter']['organization_nid'];
-    $filterfields[] = 'Organization';
-  }
-  if (isset($_SESSION['stormnote_list_filter']['project_nid']) && $_SESSION['stormnote_list_filter']['project_nid'] != 0) {
-    $where[] = 'sno.project_nid=%d';
-    $args[] = $_SESSION['stormnote_list_filter']['project_nid'];
-    $filterfields[] = 'Project';
-  }
-  if (isset($_SESSION['stormnote_list_filter']['task_nid']) && $_SESSION['stormnote_list_filter']['task_nid'] != 0) {
-    $where[] = 'sno.task_nid=%d';
-    $args[] = $_SESSION['stormnote_list_filter']['task_nid'];
-    $filterfields[] = 'Task';
-  }
-  if (isset($_SESSION['stormnote_list_filter']['title']) && $_SESSION['stormnote_list_filter']['title'] != '') {
-    $where[] = "LOWER(n.title) LIKE LOWER('%s')";
-    $args[] = $_SESSION['stormnote_list_filter']['title'];
-    $filterfields[] = 'Title';
-  }
-
-  // This section only provides the value for the fieldset label, doesn't control actual filter
-  $itemsperpage = isset($_SESSION['stormnote_list_filter']['itemsperpage']) ? $_SESSION['stormnote_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
-
-  if (count($filterfields) == 0) {
-    $filterdesc = t('Not filtered');
-  }
-  else {
-    $filterdesc = t('Filtered by !fields', array('!fields' => implode(", ", array_unique($filterfields))));
-  }
-  $filterdesc .= ' | '. t('!items items per page', array('!items' => $itemsperpage));
-
-  $o = drupal_get_form('stormnote_list_filter', $filterdesc);
-
-  $s = stormnote_access_sql($s, $where);
-  $s = db_rewrite_sql($s);
-  $tablesort = tablesort_sql($header);
-
-  $r = pager_query($s . $tablesort, $itemsperpage, 0, NULL, $args);
-
-  $notes = array();
-  while ($item = db_fetch_object($r)) {
-    $notes[] = $item;
-  }
-
-  $o .= theme('stormnote_list', $header, $notes);
-  $o .= theme('pager', NULL, $itemsperpage, 0);
-  print theme('page', $o);
-}
-
-function stormnote_list_filter(&$form_state, $filterdesc = 'Filter') {
-  $organization_nid = isset($_SESSION['stormnote_list_filter']['organization_nid']) ? $_SESSION['stormnote_list_filter']['organization_nid'] : 0;
-  $project_nid = isset($_SESSION['stormnote_list_filter']['project_nid']) ? $_SESSION['stormnote_list_filter']['project_nid'] : 0;
-  $task_nid = isset($_SESSION['stormnote_list_filter']['task_nid']) ? $_SESSION['stormnote_list_filter']['task_nid'] : 0;
-  $title = isset($_SESSION['stormnote_list_filter']['title']) ? $_SESSION['stormnote_list_filter']['title'] : '';
-
-  $itemsperpage = isset($_SESSION['stormnote_list_filter']['itemsperpage']) ? $_SESSION['stormnote_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
-  $_SESSION['stormnote_list_filter']['itemsperpage'] = $itemsperpage;
-
-  $form = array();
-
-  $form['filter'] = array(
-    '#type' => 'fieldset',
-    '#title' => $filterdesc,
-    '#collapsible' => TRUE,
-    '#collapsed' => TRUE,
-  );
-
-  $form['filter']['group1'] = array(
-    '#type' => 'markup',
-    '#theme' => 'storm_form_group',
-  );
-
-  $s = "SELECT n.nid, n.title FROM {node} AS n INNER JOIN {stormorganization} AS sor ON sor.vid=n.vid WHERE n.status=1 AND n.type='stormorganization' ORDER BY n.title";
-  $s = stormorganization_access_sql($s);
-  $s = db_rewrite_sql($s);
-  $r = db_query($s);
-  $organizations = array();
-  while ($organization = db_fetch_object($r)) {
-    $organizations[$organization->nid] = $organization->title;
-  }
-  $organizations = array(0 => t('All')) + $organizations;
-  $form['filter']['group1']['organization_nid'] = array(
-    '#type' => 'select',
-    '#title' => t('Organization'),
-    '#default_value' => $organization_nid,
-    '#options' => $organizations,
-    '#attributes' => array('onchange' => "stormtask_organization_project_tasks(this, 'edit-project-nid', 'edit-task-nid', '', true, 'All')"),
-  );
-
-  $s = "SELECT n.nid, n.title FROM {node} AS n INNER JOIN {stormproject} AS spr ON spr.vid=n.vid
-  WHERE n.status=1 AND spr.organization_nid=%d AND n.type='stormproject' ORDER BY n.title";
-  $s = stormproject_access_sql($s);
-  $s = db_rewrite_sql($s);
-  $r = db_query($s, $organization_nid);
-  $projects = array();
-  while ($project = db_fetch_object($r)) {
-    $projects[$project->nid] = $project->title;
-  }
-  $projects = array(0 => t('All')) + $projects;
-  $form['filter']['group1']['project_nid'] = array(
-    '#type' => 'select',
-    '#title' => t('Project'),
-    '#default_value' => $project_nid,
-    '#options' => $projects,
-    '#process' => array('storm_dependent_select_process'),
-    '#attributes' => array('onchange' => "stormtask_project_tasks('edit-organization-nid', this, 'edit-task-nid', '', true, 'All')"),
-  );
-
-  $s = "SELECT n.nid, n.title FROM {node} AS n INNER JOIN {stormtask} AS sta ON sta.nid=n.nid WHERE n.status=1 AND n.type='stormtask' AND sta.project_nid=%d ORDER BY title ";
-  $s = stormtask_access_sql($s);
-  $s = db_rewrite_sql($s);
-  $r = db_query($s, $project_nid);
-  $tasks = array();
-  while ($task = db_fetch_object($r)) {
-    $tasks[$task->nid] = $task->title;
-  }
-  $tasks = array(0 => t('All')) + $tasks;
-  $form['filter']['group1']['task_nid'] = array(
-    '#type' => 'select',
-    '#title' => t('Task'),
-    '#default_value' => $task_nid,
-    '#options' => $tasks,
-  );
-
-  $form['filter']['group2'] = array(
-    '#type' => 'markup',
-    '#theme' => 'storm_form_group',
-  );
-
-  $form['filter']['group2']['title'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Title'),
-    '#default_value' => $title,
-  );
-
-  $form['filter']['group3'] = array(
-    '#type' => 'markup',
-    '#theme' => 'storm_form_group',
-  );
-
-  $form['filter']['group3']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Filter'),
-    '#submit' => array('stormnote_list_filter_filter'),
-  );
-
-  $form['filter']['group3']['reset'] = array(
-    '#type' => 'submit',
-    '#value' => t('Reset'),
-    '#submit' => array('stormnote_list_filter_reset'),
-  );
-
-  $form['filter']['group3']['itemsperpage'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Items'),
-    '#size' => 10,
-    '#default_value' => $itemsperpage,
-    '#prefix' => '<div class="container-inline">',
-    '#suffix' => '</div>',
-  );
-
-  return $form;
-
-}
-
-function stormnote_list_filter_reset($form, &$form_state) {
-  unset($_SESSION['stormnote_list_filter']);
-}
-
-function stormnote_list_filter_filter($form, &$form_state) {
-  $_SESSION['stormnote_list_filter']['organization_nid'] = $form_state['values']['organization_nid'];
-  $_SESSION['stormnote_list_filter']['project_nid'] = $form_state['values']['project_nid'];
-  $_SESSION['stormnote_list_filter']['task_nid'] = $form_state['values']['task_nid'];
-  $_SESSION['stormnote_list_filter']['title'] = $form_state['values']['title'];
-  $_SESSION['stormnote_list_filter']['itemsperpage'] = $form_state['values']['itemsperpage'];
-}
 
 
diff --git a/stormnote/stormnote.info b/stormnote/stormnote.info
index 4be49a5..5e2542f 100644
--- a/stormnote/stormnote.info
+++ b/stormnote/stormnote.info
@@ -1,5 +1,6 @@
 name = Storm Note
 description = "Allows creation of notes about organizations, projects or tasks."
+dependencies[] = views
 dependencies[] = storm
 dependencies[] = stormorganization
 dependencies[] = stormproject
diff --git a/stormnote/stormnote.module b/stormnote/stormnote.module
index a6cb209..edc6fcc 100644
--- a/stormnote/stormnote.module
+++ b/stormnote/stormnote.module
@@ -169,28 +169,8 @@ function stormnote_storm_rewrite_where_sql($query, $primary_table, $account) {
   return $cond;
 }
 
-function stormnote_menu() {
-  $items = array();
-
-  $items['storm/notes'] = array(
-    'title' => 'Notes',
-    'description' => 'Storm notes',
-    'page callback' => 'stormnote_list',
-    'access arguments' => array('Storm note: access'),
-    'type' => MENU_NORMAL_ITEM,
-    'file' => 'stormnote.admin.inc',
-    'weight' => 7,
-  );
-
-  return $items;
-}
-
 function stormnote_theme() {
   return array(
-    'stormnote_list' => array(
-      'file'      => 'stormnote.theme.inc',
-      'arguments' => array('header', 'notes'),
-    ),
     'stormnote_view' => array(
       'file'      => 'stormnote.theme.inc',
       'arguments' => array('node', 'teaser', 'page'),
diff --git a/stormnote/stormnote.test b/stormnote/stormnote.test
index e650301..d3fa48f 100644
--- a/stormnote/stormnote.test
+++ b/stormnote/stormnote.test
@@ -14,7 +14,7 @@ class StormnoteTestCase extends DrupalWebTestCase {
   }
 
   public function setUp() {
-    parent::setUp('storm', 'stormorganization', 'stormproject', 'stormtask', 'stormnote');
+    parent::setUp('views', 'storm', 'stormorganization', 'stormproject', 'stormtask', 'stormnote');
   }
 
   public function testStormnoteAccess() {
diff --git a/stormnote/stormnote.theme.inc b/stormnote/stormnote.theme.inc
index 16a7285..52da39e 100644
--- a/stormnote/stormnote.theme.inc
+++ b/stormnote/stormnote.theme.inc
@@ -3,33 +3,6 @@
 /**
  * @file
  */
-
-function theme_stormnote_list($header, $notes) {
-  $rows = array();
-
-  foreach ($notes as $note) {
-    $n = new stdClass();
-    $n->nid = $note->nid;
-    $n->uid = $note->uid;
-    $n->organization_nid = $note->organization_nid;
-    $n->project_nid = $note->project_nid;
-    $n->task_nid = $note->task_nid;
-    $n->type = 'stormnote';
-    $rows[] = array(
-      l($note->organization_title, 'node/'. $note->organization_nid),
-      l($note->project_title, 'node/'. $note->project_nid),
-      l($note->task_title, 'node/'. $note->task_nid),
-      l($note->title, 'node/'. $note->nid),
-      array(
-        'data' => storm_icon_edit_node($n, $_GET) .'&nbsp;'. storm_icon_delete_node($n, $_GET),
-        'class' => 'storm_list_operations',
-      ),
-    );
-  }
-  $o = theme('table', $header, $rows);
-  return $o;
-}
-
 function theme_stormnote_view($node, $teaser = FALSE, $page = FALSE) {
   drupal_add_css(drupal_get_path('module', 'storm') . '/storm-node.css', 'module');
 
diff --git a/stormnote/stormnote.views_default.inc b/stormnote/stormnote.views_default.inc
new file mode 100644
index 0000000..dcb6ee5
--- /dev/null
+++ b/stormnote/stormnote.views_default.inc
@@ -0,0 +1,111 @@
+<?php
+function stormnote_views_default_views() {
+  $views = array();
+  $view = new view();
+
+  $view = new view();
+  $view->name = 'storm_note_list';
+  $view->description = '';
+  $view->tag = 'storm';
+  $view->base_table = 'node';
+  $view->human_name = 'stormnote_list';
+  $view->core = 7;
+  $view->api_version = '3.0';
+  $view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
+
+  /* Display: Master */
+  $handler = $view->new_display('default', 'Master', 'default');
+  $handler->display->display_options['title'] = 'Notes';
+  $handler->display->display_options['use_more_always'] = FALSE;
+  $handler->display->display_options['access']['type'] = 'perm';
+  $handler->display->display_options['access']['perm'] = 'Storm note: access';
+  $handler->display->display_options['cache']['type'] = 'none';
+  $handler->display->display_options['query']['type'] = 'views_query';
+  $handler->display->display_options['exposed_form']['type'] = 'basic';
+  $handler->display->display_options['pager']['type'] = 'full';
+  $handler->display->display_options['pager']['options']['items_per_page'] = '10';
+  $handler->display->display_options['style_plugin'] = 'table';
+  $handler->display->display_options['style_options']['columns'] = array(
+    'organization_title' => 'organization_title',
+    'project_title' => 'project_title',
+    'task_title' => 'task_title',
+    'title' => 'title',
+  );
+  $handler->display->display_options['style_options']['default'] = '-1';
+  $handler->display->display_options['style_options']['info'] = array(
+    'organization_title' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'project_title' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'task_title' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'title' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+  );
+  /* Field: Storm Note: Organization */
+  $handler->display->display_options['fields']['organization_title']['id'] = 'organization_title';
+  $handler->display->display_options['fields']['organization_title']['table'] = 'stormnote';
+  $handler->display->display_options['fields']['organization_title']['field'] = 'organization_title';
+  /* Field: Storm Note: Project */
+  $handler->display->display_options['fields']['project_title']['id'] = 'project_title';
+  $handler->display->display_options['fields']['project_title']['table'] = 'stormnote';
+  $handler->display->display_options['fields']['project_title']['field'] = 'project_title';
+  /* Field: Storm Note: Task */
+  $handler->display->display_options['fields']['task_title']['id'] = 'task_title';
+  $handler->display->display_options['fields']['task_title']['table'] = 'stormnote';
+  $handler->display->display_options['fields']['task_title']['field'] = 'task_title';
+  /* Field: Content: Title */
+  $handler->display->display_options['fields']['title']['id'] = 'title';
+  $handler->display->display_options['fields']['title']['table'] = 'node';
+  $handler->display->display_options['fields']['title']['field'] = 'title';
+  $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
+  $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
+  /* Filter criterion: Content: Published */
+  $handler->display->display_options['filters']['status']['id'] = 'status';
+  $handler->display->display_options['filters']['status']['table'] = 'node';
+  $handler->display->display_options['filters']['status']['field'] = 'status';
+  $handler->display->display_options['filters']['status']['value'] = 1;
+  $handler->display->display_options['filters']['status']['group'] = 1;
+  $handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
+  /* Filter criterion: Content: Type */
+  $handler->display->display_options['filters']['type']['id'] = 'type';
+  $handler->display->display_options['filters']['type']['table'] = 'node';
+  $handler->display->display_options['filters']['type']['field'] = 'type';
+  $handler->display->display_options['filters']['type']['value'] = array(
+    'stormnote' => 'stormnote',
+  );
+
+  /* Display: Page */
+  $handler = $view->new_display('page', 'Page', 'page');
+  $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
+  $handler->display->display_options['path'] = 'storm/notes';
+  $handler->display->display_options['menu']['type'] = 'normal';
+  $handler->display->display_options['menu']['title'] = 'Notes';
+  $handler->display->display_options['menu']['weight'] = '0';
+  $handler->display->display_options['menu']['context'] = 0;
+
+  $views[$view->name] = $view;
+
+  return $views;
+}
+
