diff --git a/stormorganization/stormorganization.admin.inc b/stormorganization/stormorganization.admin.inc
index 8fbde00..45508ad 100644
--- a/stormorganization/stormorganization.admin.inc
+++ b/stormorganization/stormorganization.admin.inc
@@ -3,258 +3,6 @@
 /**
  * @file
  */
-
-function stormorganization_list() {
-  $breadcrumb = array();
-  $breadcrumb[] = l(t('Storm'), 'storm');
-  drupal_set_breadcrumb($breadcrumb);
-
-  if (array_key_exists('name', $_GET)) {
-    if ($_SESSION['stormorganization_list_filter']['name'] != $_GET['name']) {
-      $_SESSION['stormorganization_list_filter']['name'] = $_GET['name'];
-    }
-  }
-
-  $i = new stdClass();
-  $i->type = 'stormorganization';
-
-  $header = array(
-    array(
-      'data' => t('Name'),
-      'field' => 'n.title',
-      'sort' => 'ASC',
-    ),
-    array(
-      'data' => t('Country'),
-      'field' => 'sor.country',
-      'sort' => '',
-    ),
-    array(
-      'data' => storm_icon_add_node($i, $_GET),
-      'class' => 'storm_list_operations',
-    ),
-  );
-
-  $query = db_select('node', 'n');
-  $query->join('stormorganization', 'sor', 'n.vid = sor.vid');
-  $query
-    ->fields('n')
-    ->fields('sor', array('country'))
-    ->condition('n.status', 1)
-    ->condition('n.type', 'stormorganization');
-
-  $where = array();
-  $args = array();
-  $filterfields = array();
-
-  $country = isset($_SESSION['stormorganization_list_filter']['country']) ? $_SESSION['stormorganization_list_filter']['country'] : '-';
-  if ($country != '-') {
-    $where[] = "sor.country='%s'";
-    $args[] = $_SESSION['stormorganization_list_filter']['country'];
-    $filterfields[] = t('Country');
-  }
-
-  if (isset($_SESSION['stormorganization_list_filter']['name']) && $_SESSION['stormorganization_list_filter']['name'] != '') {
-    $where[] = "LOWER(n.title) LIKE LOWER('%s')";
-    $args[] = $_SESSION['stormorganization_list_filter']['name'];
-    $filterfields[] = t('Name');
-  }
-
-  $iscustomer = isset($_SESSION['stormorganization_list_filter']['iscustomer']) ? $_SESSION['stormorganization_list_filter']['iscustomer'] : '-';
-  if ($iscustomer != '-') {
-    if ($iscustomer == 'yes') {
-      $where[] = "sor.iscustomer=1";
-    }
-    elseif ($iscustomer == 'no') {
-      $where[] = "sor.iscustomer=0";
-    }
-    $filterfields[] = t('Customer');
-  }
-
-  $isprovider = isset($_SESSION['stormorganization_list_filter']['isprovider']) ? $_SESSION['stormorganization_list_filter']['isprovider'] : '-';
-  if ($isprovider != '-') {
-    if ($isprovider == 'yes') {
-      $where[] = "sor.isprovider=1";
-    }
-    elseif ($isprovider == 'no') {
-      $where[] = "sor.isprovider=0";
-    }
-    $filterfields[] = t('Provider');
-  }
-
-  $isactive = isset($_SESSION['stormorganization_list_filter']['isactive']) ? $_SESSION['stormorganization_list_filter']['isactive'] : '-';
-  if ($isactive != '-') {
-    if ($isactive == 'yes') {
-      $where[] = "sor.isactive=1";
-    }
-    elseif ($isactive == 'no') {
-      $where[] = "sor.isactive=0";
-    }
-    $filterfields[] = t('Active');
-  }
-
-  // Sets value for fieldset label, does not affect filter itself.
-  $itemsperpage = isset($_SESSION['stormorganization_list_filter']['itemsperpage']) ? $_SESSION['stormorganization_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));
-
-  $stormorganization_list_filter = drupal_get_form('stormorganization_list_filter', $filterdesc);
-
-  $o = drupal_render($stormorganization_list_filter);
-
-//  $s = stormorganization_access_sql($s, $where);
-//  $s = db_rewrite_sql($s);
-
-//  $tablesort = tablesort_sql($header);
-//  $r = pager_query($s . $tablesort, $itemsperpage, 0, NULL, $args);
-  $organizations = array();
-  $result = $query->execute();
-  foreach ($result as $organization) {
-    $organizations[] = $organization;
-  }
-
-  $o .= theme('stormorganization_list', array('header' => $header, 'organizations' => $organizations));
-//  $o .= theme('pager', NULL, $itemsperpage, 0);
-  return $o;
-}
-
-function stormorganization_list_filter($form, &$form_state, $filterdesc = 'Filter') {
-  $country_list = storm_attributes_bydomain('Country');
-  $country = isset($_SESSION['stormorganization_list_filter']['country']) ? $_SESSION['stormorganization_list_filter']['country'] : '-';
-  $_SESSION['stormorganization_list_filter']['country'] = $country;
-
-  $name = isset($_SESSION['stormorganization_list_filter']['name']) ? $_SESSION['stormorganization_list_filter']['name'] : '';
-  $iscustomer = isset($_SESSION['stormorganization_list_filter']['iscustomer']) ? $_SESSION['stormorganization_list_filter']['iscustomer'] : NULL;
-  $isprovider = isset($_SESSION['stormorganization_list_filter']['isprovider']) ? $_SESSION['stormorganization_list_filter']['isprovider'] : NULL;
-
-  $isactive = isset($_SESSION['stormorganization_list_filter']['isactive']) ? $_SESSION['stormorganization_list_filter']['isactive'] : 'yes';
-  $_SESSION['stormorganization_list_filter']['isactive'] = $isactive;
-
-  $itemsperpage = isset($_SESSION['stormorganization_list_filter']['itemsperpage']) ? $_SESSION['stormorganization_list_filter']['itemsperpage'] : variable_get('storm_default_items_per_page', 10);
-  $_SESSION['stormorganization_list_filter']['itemsperpage'] = $itemsperpage;
-
-  $form = array();
-
-  $form['filter'] = array(
-    '#type' => 'fieldset',
-    '#title' => $filterdesc,
-    '#collapsible' => TRUE,
-    '#collapsed' => TRUE,
-    '#weight' => -20,
-  );
-
-  $form['filter']['country'] = array(
-    '#type' => 'select',
-    '#title' => t('Country'),
-    '#default_value' => $country,
-    '#options' => array('-' => t('-')) + $country_list['values'],
-  );
-
-  $form['filter']['name'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Name'),
-    '#default_value' => $name,
-    '#autocomplete_path' => 'storm/organizations/autocomplete',
-  );
-
-  $qs = '<div class="storm_quick_shortcuts"><ul class="storm_quick_shortcuts">';
-  foreach (range(0, 9) as $n) {
-    $qs .= '<li>'. l($n, 'storm/organizations', array('query' => array('name' => $n .'%'))) .'</li>';
-  }
-  $qs .= '</ul></div>';
-  $form['filter']['name_quick_shortcuts_numbers'] = array(
-    '#type' => 'markup',
-    '#value' => $qs,
-  );
-  $qs = '<div class="storm_quick_shortcuts"><ul class="storm_quick_shortcuts">';
-  foreach (range('A', 'Z') as $l) {
-    $qs .= '<li>'. l($l, 'storm/organizations', array('query' => array('name' => $l .'%'))) .'</li>';
-  }
-  $qs .= '</ul></div>';
-  $form['filter']['name_quick_shortcuts_letters'] = array(
-    '#type' => 'markup',
-    '#value' => $qs,
-  );
-
-  $form['filter']['group0'] = array(
-    '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
-  );
-
-  $options = array(
-    '-' => t('-'),
-    'no' => t('no'),
-    'yes' => t('yes')
-  );
-  $form['filter']['group0']['iscustomer'] = array(
-    '#type' => 'select',
-    '#options' => $options,
-    '#title' => t('Is customer'),
-    '#default_value' => $iscustomer,
-  );
-
-  $form['filter']['group0']['isprovider'] = array(
-    '#type' => 'select',
-    '#options' => $options,
-    '#title' => t('Is provider'),
-    '#default_value' => $isprovider,
-  );
-
-  $form['filter']['group0']['isactive'] = array(
-    '#type' => 'select',
-    '#options' => $options,
-    '#title' => t('Is active'),
-    '#default_value' => $isactive,
-  );
-
-  $form['filter']['group1'] = array(
-    '#type' => 'markup',
-//    '#theme' => 'storm_form_group',
-  );
-
-  $form['filter']['group1']['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Filter'),
-    '#submit' => array('stormorganization_list_filter_filter'),
-  );
-
-  $form['filter']['group1']['reset'] = array(
-    '#type' => 'submit',
-    '#value' => t('Reset'),
-    '#submit' => array('stormorganization_list_filter_reset'),
-  );
-
-  $form['filter']['group1']['itemsperpage'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Items'),
-    '#size' => 10,
-    '#default_value' => $itemsperpage,
-    '#prefix' => '<div class="container-inline">',
-    '#suffix' => '</div>',
-  );
-
-  return $form;
-}
-
-function stormorganization_list_filter_filter($form, &$form_state) {
-  $_SESSION['stormorganization_list_filter']['country'] = $form_state['values']['country'];
-  $_SESSION['stormorganization_list_filter']['name'] = $form_state['values']['name'];
-  $_SESSION['stormorganization_list_filter']['iscustomer'] = $form_state['values']['iscustomer'];
-  $_SESSION['stormorganization_list_filter']['isprovider'] = $form_state['values']['isprovider'];
-  $_SESSION['stormorganization_list_filter']['isactive'] = $form_state['values']['isactive'];
-  $_SESSION['stormorganization_list_filter']['itemsperpage'] = $form_state['values']['itemsperpage'];
-}
-
-function stormorganization_list_filter_reset($form, &$form_state) {
-  unset($_SESSION['stormorganization_list_filter']);
-}
-
 function stormorganization_autocomplete($string = '') {
   $matches = array();
   if ($string) {
diff --git a/stormorganization/stormorganization.info b/stormorganization/stormorganization.info
index 0272fde..43c9ff6 100644
--- a/stormorganization/stormorganization.info
+++ b/stormorganization/stormorganization.info
@@ -2,6 +2,7 @@ name = Storm Organization
 description = "Allows storing of organizations for use within Storm"
 dependencies[] = storm
 package = Storm
+dependencies[] = views
 core = 7.x
 configure = admin/config/storm/stormorganization
 files[] = stormorganization.test
diff --git a/stormorganization/stormorganization.module b/stormorganization/stormorganization.module
index 533cc3d..727cabf 100644
--- a/stormorganization/stormorganization.module
+++ b/stormorganization/stormorganization.module
@@ -168,15 +168,6 @@ function stormorganization_storm_rewrite_where_sql($query, $primary_table, $acco
 
 function stormorganization_menu() {
   $items = array();
-  $items['storm/organizations'] = array(
-    'title' => 'Organizations',
-    'description' => 'Storm organizations',
-    'page callback' => 'stormorganization_list',
-    'access arguments' => array('Storm organization: access'),
-    'file' => 'stormorganization.admin.inc',
-    'type' => MENU_NORMAL_ITEM,
-    'weight' => 0,
-  );
 
   $items['storm/organizations/autocomplete'] = array(
     'title' => 'Organization autocomplete',
@@ -185,8 +176,7 @@ function stormorganization_menu() {
     'type' => MENU_CALLBACK,
     'file' => 'stormorganization.admin.inc',
   );
-
-  $items['admin/config/storm/organization'] = array(
+  $items['admin/config/storm/organization/'] = array(
     'title' => 'Storm organization',
     'description' => 'Storm organization administration page',
     'page callback' => 'drupal_get_form',
@@ -194,16 +184,11 @@ function stormorganization_menu() {
     'access arguments' => array('Storm: access administration pages'),
     'type' => MENU_LOCAL_TASK,
   );
-
   return $items;
 }
 
 function stormorganization_theme() {
   return array(
-    'stormorganization_list' => array(
-      'file'      => 'stormorganization.theme.inc',
-      'variables' => array('header', 'organizations'),
-    ),
     'stormorganization_view' => array(
       'file'      => 'stormorganization.theme.inc',
       'variables' => array('node', 'view_mode'),
@@ -513,10 +498,12 @@ function stormorganization_load($nodes) {
       ->fields('sor')
       ->condition('vid', $node->vid)
       ->execute();
+    $record = array();
     $record = $result->fetchAssoc();
-
-    foreach ($record as $key => $value) {
-      $node->$key = $value;
+    if($record) {    
+      foreach ($record as $key => $value) {
+        $node->$key = $value;
+      }
     }
 
     $node->title_old = $node->title;
diff --git a/stormorganization/stormorganization.test b/stormorganization/stormorganization.test
index d49158c..f6fdde6 100644
--- a/stormorganization/stormorganization.test
+++ b/stormorganization/stormorganization.test
@@ -14,7 +14,7 @@ class StormorganizationTestCase extends DrupalWebTestCase {
   }
 
   public function setUp() {
-    parent::setUp('storm', 'stormorganization');
+    parent::setUp('views','storm', 'stormorganization');
   }
 
   public function testStormorganizationAccess() {
diff --git a/stormorganization/stormorganization.theme.inc b/stormorganization/stormorganization.theme.inc
index df2b653..cadf954 100644
--- a/stormorganization/stormorganization.theme.inc
+++ b/stormorganization/stormorganization.theme.inc
@@ -3,34 +3,6 @@
 /**
  * @file
  */
-
-function theme_stormorganization_list($variables) {
-  $header = $variables['header'];
-  $organizations = $variables['organizations'];
-
-  drupal_add_css(drupal_get_path('module', 'storm') .'/storm.css');
-
-  $rows = array();
-  $countries = storm_attributes_bydomain('Country');
-  foreach ($organizations as $key => $organization) {
-    $n = new stdClass();
-    $n->nid = $organization->nid;
-    $n->uid = $organization->uid;
-    $n->type = 'stormorganization';
-
-    $rows[] = array(
-      l($organization->title, 'node/'. $organization->nid),
-      isset($countries['values'][$organization->country]) ? check_plain($countries['values'][$organization->country]) : check_plain($organization->country),
-      array(
-        'data' => storm_icon_edit_node($n, $_GET) .'&nbsp;'. storm_icon_delete_node($n, $_GET),
-        'class' => 'storm_list_operations',
-      ),
-    );
-  }
-  $o  = theme('table', array('header' => $header, 'rows' => $rows));
-  return $o;
-}
-
 function theme_stormorganization_view($variables) {
   $node = $variables['node'];
 
diff --git a/stormorganization/stormorganization.views_default.inc b/stormorganization/stormorganization.views_default.inc
new file mode 100644
index 0000000..8b55d46
--- /dev/null
+++ b/stormorganization/stormorganization.views_default.inc
@@ -0,0 +1,124 @@
+<?php
+function stormorganization_views_default_views() {
+  $views = array();
+  $view = new view();
+  $view->name = 'storm_organization_list';
+  $view->description = '';
+  $view->tag = 'storm';
+  $view->base_table = 'node';
+  $view->human_name = 'stormorganization_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'] = 'Organizations';
+  $handler->display->display_options['use_more_always'] = FALSE;
+  $handler->display->display_options['access']['type'] = 'perm';
+  $handler->display->display_options['access']['perm'] = 'Storm organization: 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(
+    'title' => 'title',
+    'body' => 'body',
+    'edit_node' => 'edit_node',
+    'delete_node' => 'delete_node',
+  );
+  $handler->display->display_options['style_options']['default'] = 'title';
+  $handler->display->display_options['style_options']['info'] = array(
+  'title' => array(
+      'sortable' => 1,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+      'body' => array(
+      'sortable' => 0,
+      'default_sort_order' => 'asc',
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'edit_node' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+    'delete_node' => array(
+      'align' => '',
+      'separator' => '',
+      'empty_column' => 0,
+    ),
+  );
+  /* 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']['label'] = 'Organization Name';
+  $handler->display->display_options['fields']['title']['alter']['word_boundary'] = FALSE;
+  $handler->display->display_options['fields']['title']['alter']['ellipsis'] = FALSE;
+  /* Field: Content: Description */
+  $handler->display->display_options['fields']['body']['id'] = 'body';
+  $handler->display->display_options['fields']['body']['table'] = 'field_data_body';
+  $handler->display->display_options['fields']['body']['field'] = 'body';
+  /* Field: Content: Edit link */
+  $handler->display->display_options['fields']['edit_node']['id'] = 'edit_node';
+  $handler->display->display_options['fields']['edit_node']['table'] = 'views_entity_node';
+  $handler->display->display_options['fields']['edit_node']['field'] = 'edit_node';
+  $handler->display->display_options['fields']['edit_node']['label'] = '';
+  $handler->display->display_options['fields']['edit_node']['element_label_colon'] = FALSE;
+  /* Field: Content: Delete link */
+  $handler->display->display_options['fields']['delete_node']['id'] = 'delete_node';
+  $handler->display->display_options['fields']['delete_node']['table'] = 'views_entity_node';
+  $handler->display->display_options['fields']['delete_node']['field'] = 'delete_node';
+  $handler->display->display_options['fields']['delete_node']['label'] = '';
+  $handler->display->display_options['fields']['delete_node']['element_label_colon'] = FALSE;
+  /* Sort criterion: Content: Title */
+  $handler->display->display_options['sorts']['title']['id'] = 'title';
+  $handler->display->display_options['sorts']['title']['table'] = 'node';
+  $handler->display->display_options['sorts']['title']['field'] = 'title';
+  /* 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(
+    'stormorganization' => 'stormorganization',
+  );
+  /* Filter criterion: Content: Title */
+  $handler->display->display_options['filters']['title']['id'] = 'title';
+  $handler->display->display_options['filters']['title']['table'] = 'node';
+  $handler->display->display_options['filters']['title']['field'] = 'title';
+  $handler->display->display_options['filters']['title']['operator'] = 'contains';
+  $handler->display->display_options['filters']['title']['exposed'] = TRUE;
+  $handler->display->display_options['filters']['title']['expose']['operator_id'] = 'title_op';
+  $handler->display->display_options['filters']['title']['expose']['label'] = 'Name';
+  $handler->display->display_options['filters']['title']['expose']['operator'] = 'title_op';
+  $handler->display->display_options['filters']['title']['expose']['identifier'] = 'title';
+  $handler->display->display_options['filters']['title']['expose']['remember_roles'] = array(
+    2 => '2',
+    1 => 0,
+    3 => 0,
+  );
+
+  /* Display: Page */
+  $handler = $view->new_display('page', 'Page', 'page');
+  $handler->display->display_options['defaults']['hide_admin_links'] = FALSE;
+  $handler->display->display_options['path'] = 'storm/organizations';
+
+  $views[$view->name] = $view;
+
+  return $views;
+}
