diff --git includes/tax_report.inc includes/tax_report.inc
index cd7460a2c61e4eef102ce0761fbf80c63ecc1559..0d7fd3dc97fb4fb63f5165fc6168fe5679220aa2 100755
--- includes/tax_report.inc
+++ includes/tax_report.inc
@@ -57,7 +57,7 @@ function kwresearch_keywords_tax_report($keywords) {
       continue;
     }
     $processed[$keyword] = 0;
-    //$kws .= (($kws)?',':'') . '"' . $keyword . '"'; 
+    //$kws .= (($kws)?',':'') . '"' . $keyword . '"';
 
     $kws_a[] = $keyword;
   }
@@ -115,7 +115,7 @@ function kwresearch_keywords_tax_report($keywords) {
     $result = pager_query($sql, 100, 0, NULL, $kws_a);
 
     $priorities = kwresearch_get_priority_options();
-    while ($r = db_fetch_object($result)) {
+    foreach ($result as $r) {
       $processed[$r->keyword] = 1;
       $rows[] = array(
         'data' => array(
@@ -129,7 +129,7 @@ function kwresearch_keywords_tax_report($keywords) {
           ($r->page_count == NULL) ? '-' : l(number_format($r->page_count), 'admin/structure/kwresearch/keyword_pages/' . $r->kid, array('target' => '_blank')),
           ($r->daily_volume == NULL) ? '-' : number_format($r->daily_volume),
           l(t('stats'), 'admin/structure/kwresearch/keyword_report/' . $r->keyword, array('attributes' => array('target' => '_blank'))) . ' | ' .
-          l(t('pages'), 'admin/structure/kwresearch/keyword_pages/' . $r->kid, array('attributes' => array('target' => '_blank'))) 
+          l(t('pages'), 'admin/structure/kwresearch/keyword_pages/' . $r->kid, array('attributes' => array('target' => '_blank')))
           ,
         ),
         // Attributes for tr
diff --git kwresearch.admin.inc kwresearch.admin.inc
index ef696ae0f16fbd15545381205ef7b7ed1f492517..f68d586e4f2aa5e652c98f0e3b01112c32a77f81 100755
--- kwresearch.admin.inc
+++ kwresearch.admin.inc
@@ -30,7 +30,7 @@ function kwresearch_admin_settings($form, &$form_state) {
     $form['sources'] = array(
       '#type' => 'item',
       '#title' => t('Sources'),
-      '#markup' => t('No keyword statistics sources have been enabled. To access keyword popularity data enable a data source such as the Keyword Research Google (Keyword Research sub-module), !scribe, !wordstream or !wordtracker modules.', 
+      '#markup' => t('No keyword statistics sources have been enabled. To access keyword popularity data enable a data source such as the Keyword Research Google (Keyword Research sub-module), !scribe, !wordstream or !wordtracker modules.',
         array(
         '!scribe' => l('Scribe SEO', 'http://drupal.org/project/scribeseo'),
         '!wordstream' => l('WordStream', 'http://drupal.org/project/wordstream'),
@@ -57,7 +57,7 @@ function kwresearch_admin_settings($form, &$form_state) {
     '#title' => t('Report data'),
     '#options' => $options,
     '#default_value' => variable_get('kwresearch_stats_report_data_options', $def_values),
-    //'#description' => t('')     
+    //'#description' => t('')
   );
 
   $options = kwresearch_get_report_links_options();
@@ -67,7 +67,7 @@ function kwresearch_admin_settings($form, &$form_state) {
     '#title' => t('Report links'),
     '#options' => $options,
     '#default_value' => variable_get('kwresearch_stats_report_links_options', $def_values),
-    //'#description' => t('')     
+    //'#description' => t('')
   );
   $form['kwresearch_stats_report_options']['kwresearch_stats_report_item_limit'] = array(
     '#type' => 'textfield',
@@ -94,7 +94,7 @@ function kwresearch_admin_settings($form, &$form_state) {
     '#title' => t('Report data'),
     '#options' => $options,
     '#default_value' => variable_get('kwresearch_site_report_data_options', $def_values),
-    //'#description' => t('')     
+    //'#description' => t('')
   );
 
   $form['vocab'] = array(
@@ -139,7 +139,7 @@ function kwresearch_admin_settings($form, &$form_state) {
     $form['vocab']['no'] = array(
       '#type' => 'item',
       '#title' => t('No vocabularies exist'),
-      '#description' => t('To sync keyword research you need to !create_a_vocabulary first.', 
+      '#description' => t('To sync keyword research you need to !create_a_vocabulary first.',
 	      array(
         '!create_a_vocabulary' => l(t('create a vocabulary'), 'admin/structure/taxonomy/add/vocabulary'),
       )
@@ -162,7 +162,7 @@ function kwresearch_keywords_list_edit($kid = 'add') {
 	$keyword = NULL;
 	if ($kid > 0) {
     $sql = '
-      SELECT * 
+      SELECT *
       FROM {kwresearch_keyword}
       WHERE kid = :kid
     ';
@@ -292,18 +292,18 @@ function kwresearch_site_keywords_edit_form_submit($form, &$form_state) {
   kwresearch_save_site_keyword($keyword, $kid, $keyword_obj, $update_stats);
 
   if (!$kid) {
-    drupal_set_message(t('Site keyword <em>@keyword</em> has been added.',  
+    drupal_set_message(t('Site keyword <em>@keyword</em> has been added.',
       array(
       '@keyword' => $keyword,
-    )), 
+    )),
       'status'
     );
   }
   else {
-    drupal_set_message(t('Site keyword <em>@keyword</em> has been updated.',  
+    drupal_set_message(t('Site keyword <em>@keyword</em> has been updated.',
       array(
       '@keyword' => $keyword,
-    )), 
+    )),
       'status'
     );
   }
@@ -393,7 +393,7 @@ function kwresearch_site_keywords_import_form_submit($form, &$form_state) {
     kwresearch_save_site_keyword($keyword, NULL, $keyword_obj);
     $imported++;
   }
-  drupal_set_message(t('@imported keywords were imported.', 
+  drupal_set_message(t('@imported keywords were imported.',
     array(
     '@imported' => $imported,
   ))
@@ -409,17 +409,22 @@ function kwresearch_site_keywords_import_form_submit($form, &$form_state) {
 function kwresearch_page_keywords_edit($pid, $kid = 'add') {
   if ($kid > 0) {
     $sql = '
-      SELECT * 
+      SELECT *
       FROM {kwresearch_keyword}
-      WHERE kid = %d
+      WHERE kid = :d
     ';
-    $keyword = db_fetch_object(db_query($sql, $kid));
+    $keyword_query = db_query($sql, array(':d' =>$kid));
     drupal_set_title(t('Edit page keyword'));
   }
-  if (!$keyword->keyword) {
-    drupal_set_title(t('Add page keyword'));
+
+  $output = false;
+  foreach ($keyword_query as $keyword) {
+    if (!$keyword->keyword) {
+      drupal_set_title(t('Add page keyword'));
+    }
+    $form = drupal_get_form('kwresearch_page_keywords_edit_form', $pid, $keyword);
+    $output .= render($form);
   }
-  $output .= render(drupal_get_form('kwresearch_page_keywords_edit_form', $pid, $keyword));
   return $output;
 }
 
@@ -443,11 +448,10 @@ function kwresearch_page_keywords_edit_form($form, $form_state, $pid, $keyword)
   }
 
   $page_keyword = kwresearch_load_page_keyword($pid, $keyword->kid);
-
   $form['page'] = array(
     '#title' => t('Page'),
     '#type' => 'item',
-    '#markup' => l($url, $url),
+    '#markup' => l($url, $url, array('absolute' => true)),
   );
   $form['pid'] = array(
     '#type' => 'value',
@@ -481,7 +485,7 @@ function kwresearch_page_keywords_edit_form($form, $form_state, $pid, $keyword)
     '#type' => 'select',
     '#title' => t('Priority'),
     '#options' => $options,
-    '#default_value' => $page_keyword->priority,
+    '#default_value' => (isset($keyword->priority) && $keyword->priority) ? $keyword->priority : 50,
     '#description' => t('Use to set how important it is for the site to rank well for this keyword. If unsure, just set to "Standard".'),
   );
 
@@ -525,10 +529,10 @@ function kwresearch_page_keywords_edit_form_submit($form, &$form_state) {
 
   kwresearch_save_page_keyword($pid, $keyword, $kid, $page_keyword_obj);
 
-  drupal_set_message(t('Site keyword <em>@keyword</em> has been updated.',  
+  drupal_set_message(t('Site keyword <em>@keyword</em> has been updated.',
     array(
     '@keyword' => $keyword,
-  )), 
+  )),
     'status'
   );
 }
@@ -544,10 +548,10 @@ function kwresearch_keyword_pages_page($kid) {
   drupal_set_title('Keyword pages');
 
   $keyword_obj = kwresearch_load_site_keyword($kid);
-  $output = t('Keyword: @keyword', 
+  $output = t('Keyword: @keyword',
     array(
     '@keyword' => $keyword_obj->keyword,
-  )      
+  )
   );
 
   $rows = array();
@@ -582,7 +586,7 @@ function kwresearch_keyword_pages_page($kid) {
   $result = $query->execute();
   /*
   $sql = '
-    SELECT pk.* 
+    SELECT pk.*
     FROM {kwresearch_page_keyword} pk
     WHERE kid = %d
   ';
diff --git kwresearch.module kwresearch.module
index 504fd3058e2974a80e05ebc4a9f199b8a43eb1b6..2d0469b366d2738fe978050f13445435b82c2d6a 100755
--- kwresearch.module
+++ kwresearch.module
@@ -1,4 +1,4 @@
-<?php
+<?php
 
 /**
  * @file
@@ -16,7 +16,7 @@ require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'kwresearch') . "/inc
 function kwresearch_menu() {
   $items = array();
   $items['admin/structure/kwresearch'] = array(
-    'title' => 'Keyword research',
+    'title' => 'Keyword research',
     'description' => 'Research keywords and prioritize site keywords.',
     'page callback' => 'kwresearch_keywords_list_page',
     'access callback' => 'user_access',
@@ -32,30 +32,30 @@ function kwresearch_menu() {
     'file' => 'includes/site_report.inc',
     'weight' => -8,
     'type' => MENU_DEFAULT_LOCAL_TASK,
-  );
-  $items['admin/structure/kwresearch/keyword_list/site'] = array(
-    'title' => 'Site keywords',
-    'page callback' => 'kwresearch_keywords_list_page',
-    'page arguments' => array(4),
-    'access callback' => 'user_access',
-    'access arguments' => array('kwresearch admin site keywords'),
-    'file' => 'includes/site_report.inc',
-    'weight' => -10,
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-  );
-  $items['admin/structure/kwresearch/keyword_list/page'] = array(
-    'title' => 'Page keywords',
-    'page callback' => 'kwresearch_keywords_list_page',
-    'page arguments' => array(4),
-    'access callback' => 'user_access',
-    'access arguments' => array('kwresearch admin site keywords'),
-    'file' => 'includes/site_report.inc',
-    'weight' => -8,
-    'type' => MENU_LOCAL_TASK,
+  );
+  $items['admin/structure/kwresearch/keyword_list/site'] = array(
+    'title' => 'Site keywords',
+    'page callback' => 'kwresearch_keywords_list_page',
+    'page arguments' => array(4),
+    'access callback' => 'user_access',
+    'access arguments' => array('kwresearch admin site keywords'),
+    'file' => 'includes/site_report.inc',
+    'weight' => -10,
+    'type' => MENU_DEFAULT_LOCAL_TASK,
+  );
+  $items['admin/structure/kwresearch/keyword_list/page'] = array(
+    'title' => 'Page keywords',
+    'page callback' => 'kwresearch_keywords_list_page',
+    'page arguments' => array(4),
+    'access callback' => 'user_access',
+    'access arguments' => array('kwresearch admin site keywords'),
+    'file' => 'includes/site_report.inc',
+    'weight' => -8,
+    'type' => MENU_LOCAL_TASK,
   );
   $items['admin/structure/kwresearch/keyword_list/all'] = array(
     'title' => 'All keywords',
-    'page callback' => 'kwresearch_keywords_list_page',
+    'page callback' => 'kwresearch_keywords_list_page',
     'page arguments' => array(4),
     'access callback' => 'user_access',
     'access arguments' => array('kwresearch admin site keywords'),
@@ -176,40 +176,40 @@ function kwresearch_menu() {
     'access callback' => 'user_access',
     'access arguments' => array('kwresearch admin site keywords'),
     'type' => MENU_CALLBACK,
-  );
-  $items['kwresearch/util'] = array(
-    'title' => 'Keyword Reserach util',
-    'page callback' => 'kwresearch_util',
-    'access callback' => TRUE,
-    'access arguments' => array('access wordstream reports'),
-    'type' => MENU_CALLBACK,
+  );
+  $items['kwresearch/util'] = array(
+    'title' => 'Keyword Reserach util',
+    'page callback' => 'kwresearch_util',
+    'access callback' => TRUE,
+    'access arguments' => array('access wordstream reports'),
+    'type' => MENU_CALLBACK,
   );
 
   return $items;
-}
-
-
-/**
- * Testing function
- */
-function kwresearch_util() {
-
-  /*
-  $sql = '
-    DELETE FROM {kwresearch_keyword}
-    WHERE page_count = 0
-      AND (priority IS NULL || priority = 0) 
-  ';
-  db_query($sql);
-  */
-  $query = db_delete('kwresearch_keyword')
-    ->condition('page_count', 0)
-  ;
+}
+
+
+/**
+ * Testing function
+ */
+function kwresearch_util() {
+
+  /*
+  $sql = '
+    DELETE FROM {kwresearch_keyword}
+    WHERE page_count = 0
+      AND (priority IS NULL || priority = 0)
+  ';
+  db_query($sql);
+  */
+  $query = db_delete('kwresearch_keyword')
+    ->condition('page_count', 0)
+  ;
   return " " . $query;
-}
-    
+}
+
 /**
- * Implements hook_permission()().
+ * Implements hook_permission()
  */
 function kwresearch_permission() {
   return array(
@@ -246,57 +246,57 @@ function kwresearch_save_site_keyword($keyword, $kid = NULL, $keyword_obj = NULL
     $keyword_obj->uid = (isset($keyword_obj0->uid) && $keyword_obj0->uid) ? $keyword_obj0->uid : $GLOBALS['user']->uid; // set logged in user as default
   }
   if (!isset($keyword_obj->priority)) {
-    $keyword_obj->priority = (isset($keyword_obj0->priority) && $keyword_obj0->priority) ? $keyword_obj0->priority : -1; // set default to standard
+    $keyword_obj->priority = (isset($keyword_obj0->priority) && $keyword_obj0->priority) ? $keyword_obj0->priority : -1; // set default to standard
 
   }
   if (!isset($keyword_obj->value) || !$keyword_obj->value) {
     $keyword_obj->value = (isset($keyword_obj0->value) && $keyword_obj0->value) ? $keyword_obj0->value : -1; // set to default value to 0
   }
-  if (!$kid) {
+  if (!$kid) {
   	/*
-    $sql = '
-      INSERT INTO {kwresearch_keyword}
-      (uid, keyword, word_count, priority, value)
-      VALUES (%d, "%s", %d, %d, %d)      
+    $sql = '
+      INSERT INTO {kwresearch_keyword}
+      (uid, keyword, word_count, priority, value)
+      VALUES (%d, "%s", %d, %d, %d)
     ';
     db_query($sql, $keyword_obj->uid, $keyword, str_word_count($keyword), $keyword_obj->priority, $keyword_obj->value);
-    $kid = db_last_insert_id('kwresearch_keyword', 'kid');
-    */
-    $query = db_insert('kwresearch_keyword')
-      ->fields(array(
-        'uid' => $keyword_obj->uid,
-        'keyword' => $keyword,
-        'word_count' => str_word_count($keyword),
-        'priority' => $keyword_obj->priority,
-        'value' => $keyword_obj->value,
-      ));
-    $kid = $query->execute();    
-    
+    $kid = db_last_insert_id('kwresearch_keyword', 'kid');
+    */
+    $query = db_insert('kwresearch_keyword')
+      ->fields(array(
+        'uid' => $keyword_obj->uid,
+        'keyword' => $keyword,
+        'word_count' => str_word_count($keyword),
+        'priority' => $keyword_obj->priority,
+        'value' => $keyword_obj->value,
+      ));
+    $kid = $query->execute();
+
   }
-  else {
+  else {
   	/*
-    $sql = '
-      UPDATE {kwresearch_keyword}
-      SET 
-        priority = %d,
-        priority = %f,
-        uid = %d
-      WHERE kid = %d
+    $sql = '
+      UPDATE {kwresearch_keyword}
+      SET
+        priority = %d,
+        priority = %f,
+        uid = %d
+      WHERE kid = %d
     ';
-    db_query($sql, $keyword_obj->priority, $keyword_obj->value, $keyword_obj->uid, $kid);
-    */
-    $query = db_update('kwresearch_keyword')
-      ->condition('kid',  $kid)
-      ->fields(array(
-        'priority' => $keyword_obj->priority,
-        'value' => $keyword_obj->value,
-        'uid' => $keyword_obj->uid,
-      ));
-    $query->execute();
-    
+    db_query($sql, $keyword_obj->priority, $keyword_obj->value, $keyword_obj->uid, $kid);
+    */
+    $query = db_update('kwresearch_keyword')
+      ->condition('kid',  $kid)
+      ->fields(array(
+        'priority' => $keyword_obj->priority,
+        'value' => $keyword_obj->value,
+        'uid' => $keyword_obj->uid,
+      ));
+    $query->execute();
+
   }
 
-  // update keyword stats if set
+  // update keyword stats if set
 
   if ($update_stats) {
     $kw_stats = kwresearch_get_keyword_stats_data($keyword, $msgs);
@@ -326,16 +326,16 @@ function kwresearch_delete_site_keyword($key) {
     else {
       return FALSE;
     }
-  }
+  }
   /*
-  $sql = '
-    DELETE FROM {kwresearch_keyword}
-      WHERE kid = %d
+  $sql = '
+    DELETE FROM {kwresearch_keyword}
+      WHERE kid = %d
   ';
-  db_query($sql, $kid);
-  */
-  db_delete('kwresearch_keyword')
-    ->condition('kid', $kid)
+  db_query($sql, $kid);
+  */
+  db_delete('kwresearch_keyword')
+    ->condition('kid', $kid)
     ->execute();
   return TRUE;
 }
@@ -343,13 +343,13 @@ function kwresearch_delete_site_keyword($key) {
 /**
  * Deletes all site keyword db entries if not set as a site keyword or used as a page keyword
  */
-function kwresearch_clear_site_keywords() {
-  $sql = '
-    DELETE FROM {kwresearch_keyword}
-    WHERE page_count = 0
-      AND (priority IS NULL || priority = 0) 
+function kwresearch_clear_site_keywords() {
+  $sql = '
+    DELETE FROM {kwresearch_keyword}
+    WHERE page_count = 0
+      AND (priority IS NULL || priority = 0)
   ';
-  db_query($sql);
+  db_query($sql);
 
   drupal_set_message(t('Unused keywords have been cleared.'));
   return t('OK');
@@ -360,26 +360,26 @@ function kwresearch_clear_site_keywords() {
  * @param int|string $key if int, treated as a kid. If str treated as a keyword phrase
  */
 function kwresearch_load_site_keyword($key) {
-  if ($key > 0) { // load by kid
-    $sql = '
-      SELECT * 
-      FROM {kwresearch_keyword}
-      WHERE kid = :kid
-    ';
-    $args = array(
-      ':kid' => $key
+  if ($key > 0) { // load by kid
+    $sql = '
+      SELECT *
+      FROM {kwresearch_keyword}
+      WHERE kid = :kid
+    ';
+    $args = array(
+      ':kid' => $key
     );
     $keyword_obj = db_query($sql, $args)->fetchObject();
   }
-  else { // load by keyword
-    $sql = '
-      SELECT * 
-      FROM {kwresearch_keyword}
-      WHERE keyword = :keyword
+  else { // load by keyword
+    $sql = '
+      SELECT *
+      FROM {kwresearch_keyword}
+      WHERE keyword = :keyword
     ';
-    $args = array(
-      ':keyword' => $key
-    );
+    $args = array(
+      ':keyword' => $key
+    );
     $keyword_obj = db_query($sql, $args)->fetchObject();
   }
   return $keyword_obj;
@@ -393,39 +393,39 @@ function kwresearch_load_site_keyword($key) {
  * @param limit $offset
  */
 function kwresearch_load_filtered_keyword_result($filter = array(), $options = array(), $header = array(), $limit = 100, $offset = NULL) {
-//dsm($filter);
-//dsm($options);
-//dsm($header);
-	$sql = "
-    SELECT k.*, u.name AS username 
-    FROM {kwresearch_keyword} k 
-    LEFT JOIN {users} u ON u.uid = k.uid
-  ";
-  $query = db_select('kwresearch_keyword', 'k');
-  $u = $query->leftJoin('users', 'u', '%alias.uid = k.uid');
-  $query->fields('k');
-  $query->addField($u, 'name', 'username');
-  $query->extend('PagerDefault')->limit($limit);
-
-  if (!empty($header)) {
+//dsm($filter);
+//dsm($options);
+//dsm($header);
+	$sql = "
+    SELECT k.*, u.name AS username
+    FROM {kwresearch_keyword} k
+    LEFT JOIN {users} u ON u.uid = k.uid
+  ";
+  $query = db_select('kwresearch_keyword', 'k');
+  $u = $query->leftJoin('users', 'u', '%alias.uid = k.uid');
+  $query->fields('k');
+  $query->addField($u, 'name', 'username');
+  $query->extend('PagerDefault')->limit($limit);
+
+  if (!empty($header)) {
   	$query->extend('TableSort')->orderByHeader($header);
-  }
-
-  if ($options['mode'] == 'site') {
-    $query->condition('k.priority', 0, '>=');
-  }
-  elseif ($options['mode'] == 'page') {
-    $query->condition('k.page_count', 0, '>');
-  }
-  
-  //TODO get filters working
-  if (!empty($filter['where'])) {  	
+  }
+
+  if ($options['mode'] == 'site') {
+    $query->condition('k.priority', 0, '>=');
+  }
+  elseif ($options['mode'] == 'page') {
+    $query->condition('k.page_count', 0, '>');
+  }
+
+  //TODO get filters working
+  if (!empty($filter['where'])) {
     //$sql .= " WHERE " . (($options['mode'] == 'site') ? 'k.priority >= 0 AND ' : '') . $filter['where'];
     //$count_sql .=  " WHERE " . (($options['mode'] == 'site') ? 'k.priority >= 0 AND ' : '') .  $filter['where'];
-  }
-  
-//dsm(" ", $query);
-  $result = $query->execute();
+  }
+
+//dsm(" ", $query);
+  $result = $query->execute();
 
   return $result;
 }
@@ -454,7 +454,7 @@ function kwresearch_get_keyword($kid) {
  * @param $pid - either a numeric nid or a path
  * @param $msgs - TODO
  */
-function kwresearch_construct_pathnid_obj($pid, $msgs) {
+function kwresearch_construct_pathnid_obj($pid, &$msgs = array()) {
   if (!$pid) {
     return FALSE;
   }
@@ -498,7 +498,7 @@ function kwresearch_construct_pathnid_obj($pid, $msgs) {
  * @param bool $save_term - if true, will also call save_site_keyword
  */
 function kwresearch_save_page_keyword($pid, $keyword, $kid = NULL, $page_keyword_obj = NULL, $update_stats = FALSE, $save_term = FALSE) {
-  //kwresearch_save_site_keyword($keyword, $kid = NULL, $keyword_obj = NULL, $update_stats = FALSE)
+  //kwresearch_save_site_keyword($keyword, $kid = NULL, $keyword_obj = NULL, $update_stats = FALSE)
 
   if (!is_object($page_keyword_obj)) {
     $page_keyword_obj = new stdClass();
@@ -510,7 +510,7 @@ function kwresearch_save_page_keyword($pid, $keyword, $kid = NULL, $page_keyword
   }
   $keyword_obj0 = kwresearch_load_site_keyword($key);
 
-  // if site keyword does not exist, create it
+  // if site keyword does not exist, create it
 
   if (!$keyword_obj0->kid) {
     $kid = kwresearch_save_site_keyword($keyword);
@@ -522,46 +522,46 @@ function kwresearch_save_page_keyword($pid, $keyword, $kid = NULL, $page_keyword
   $page_keyword_obj0 = kwresearch_load_page_keyword($pid, $kid);
 
   if (!$page_keyword_obj->uid) {
-    $page_keyword_obj->uid = ($page_keyword_obj0->uid) ? $page_keyword_obj0->uid : $GLOBALS['user']->uid; // set logged in user as default
+    $page_keyword_obj->uid = ($page_keyword_obj0->uid) ? $page_keyword_obj0->uid : $GLOBALS['user']->uid; // set logged in user as default
 
   }
   if (!is_numeric($page_keyword_obj->priority)) {
-    $page_keyword_obj->priority = ($page_keyword_obj0->priority) ? $page_keyword_obj0->priority : -1; // set default to standard
+    $page_keyword_obj->priority = ($page_keyword_obj0->priority) ? $page_keyword_obj0->priority : -1; // set default to standard
 
   }
   $pn = kwresearch_construct_pathnid_obj($pid, $msgs);
 
-  // page keyword does not exists, create it
+  // page keyword does not exists, create it
 
   if (!$page_keyword_obj0->kid) {
-    $sql = '
-      INSERT INTO {kwresearch_page_keyword}
-      (kid, nid, path, priority, uid)
-      VALUES (:kid, :nid,:path, :priority, :uid)
-    ';
-    $args = array(
-      ':kid' => $kid,
-      ':nid' => $pn->nid,
-      ':path' => $pn->path,
-      ':priority' => $page_keyword_obj->priority,
-      ':uid' => $page_keyword_obj->uid,
-    ); 
+    $sql = '
+      INSERT INTO {kwresearch_page_keyword}
+      (kid, nid, path, priority, uid)
+      VALUES (:kid, :nid,:path, :priority, :uid)
+    ';
+    $args = array(
+      ':kid' => $kid,
+      ':nid' => $pn->nid,
+      ':path' => $pn->path,
+      ':priority' => $page_keyword_obj->priority,
+      ':uid' => $page_keyword_obj->uid,
+    );
     db_query($sql, $args);
   }
   else {
-    // if priority > 0 update table, otherwise delete record
+    // if priority > 0 update table, otherwise delete record
 
     if ($page_keyword_obj->priority) {
-      $sql = '
-        UPDATE {kwresearch_page_keyword}
-        SET priority = :priority
-        WHERE kid = :kid
-          AND path = :path
-      ';
-      $args = array(
-        ':priority' => $page_keyword_obj->priority,
-        ':kid' => $kid,
-        ':path' => $pn->path,
+      $sql = '
+        UPDATE {kwresearch_page_keyword}
+        SET priority = :priority
+        WHERE kid = :kid
+          AND path = :path
+      ';
+      $args = array(
+        ':priority' => $page_keyword_obj->priority,
+        ':kid' => $kid,
+        ':path' => $pn->path,
       );
       db_query($sql, $args);
     }
@@ -591,15 +591,15 @@ function kwresearch_delete_page_keyword($key, $pid) {
     }
   }
   $pn = kwresearch_construct_pathnid_obj($pid, $msgs);
-  $sql = "
-    DELETE FROM {kwresearch_page_keyword}
-    WHERE 
-      kid = :kid
-      AND path = :path
-  ";
-  $args = array(
-    ':kid' => $kid,
-    ':path' => $pn->path,
+  $sql = "
+    DELETE FROM {kwresearch_page_keyword}
+    WHERE
+      kid = :kid
+      AND path = :path
+  ";
+  $args = array(
+    ':kid' => $kid,
+    ':path' => $pn->path,
   );
   db_query($sql, $args);
   return TRUE;
@@ -609,16 +609,16 @@ function kwresearch_delete_page_keyword($key, $pid) {
  * Deletes all the page keyword for a given page
  * @param int|str $pid - If int, treated as a nid. If string treated as a path
  */
-function kwresearch_delete_page_keywords_by_page($pid) {
+function kwresearch_delete_page_keywords_by_page($pid) {
 	$msgs = array(); //TODO move $msgs to drupal_get_message;
   $page_keywords = kwresearch_load_page_keywords_by_page($pid);
   $pn = kwresearch_construct_pathnid_obj($pid, $msgs);
-  $sql = "
-    DELETE FROM {kwresearch_page_keyword}
-    WHERE path = :path
-  ";
-  $args = array(
-    ':path' => $pn->path,
+  $sql = "
+    DELETE FROM {kwresearch_page_keyword}
+    WHERE path = :path
+  ";
+  $args = array(
+    ':path' => $pn->path,
   );
   db_query($sql, $args);
 
@@ -634,22 +634,22 @@ function kwresearch_delete_page_keywords_by_page($pid) {
  * @param int|str $key if int, treated as a kid. If str treated as a keyword phrase
  */
 function kwresearch_load_page_keyword($pid, $key) {
-  $site_keyword_obj = kwresearch_load_site_keyword($key);
+  $site_keyword_obj = kwresearch_load_site_keyword($key)?kwresearch_load_site_keyword($key):new stdClass;
   $kid = $site_keyword_obj->kid;
 
-  $pn = kwresearch_construct_pathnid_obj($pid, $msgs);
-
-  $sql = "
-    SELECT * 
-    FROM {kwresearch_page_keyword}
-    WHERE kid = :kid
-      AND path = :path
-  ";
-  $args = array(
-    ':kid' => $kid,
-    ':path' => $pn->path,
+  $pn = kwresearch_construct_pathnid_obj($pid);
+
+  $sql = "
+    SELECT *
+    FROM {kwresearch_page_keyword}
+    WHERE kid = :kid
+      AND path = :path
+  ";
+  $args = array(
+    ':kid' => $kid,
+    ':path' => $pn->path,
   );
-  $page_keyword_obj = db_query($sql, $args)->fetchObject();
+  $page_keyword_obj = db_query($sql, $args)->fetchObject()?db_query($sql, $args)->fetchObject(): new stdClass;
   //$page_keyword_obj = db_fetch_object(db_query($sql, $args));
 
   $page_keyword_obj->site = $site_keyword_obj;
@@ -668,13 +668,13 @@ function kwresearch_load_page_keywords_by_keyword($key) {
   else {
     $kid = $key;
   }
-  $sql = '
-    SELECT * 
-    FROM {kwreserach_page_keyword}
-    WHERE kid = :kid
-  ';
-  $args = array(
-    ':kid' => $kid
+  $sql = '
+    SELECT *
+    FROM {kwreserach_page_keyword}
+    WHERE kid = :kid
+  ';
+  $args = array(
+    ':kid' => $kid
   );
   $result = db_query($sql, $args);
   $page_keywords = array();
@@ -691,16 +691,16 @@ function kwresearch_load_page_keywords_by_keyword($key) {
 function kwresearch_load_page_keywords_by_page($pid) {
   $msgs = array();
   $pn = kwresearch_construct_pathnid_obj($pid, $msgs);
-  //dsm($pn);  
-
-  $sql = "
-    SELECT pk.*, k.keyword, k.priority AS site_priority, k.value AS value 
-    FROM {kwresearch_page_keyword} pk
-    JOIN {kwresearch_keyword} k ON pk.kid = k.kid
-    WHERE path = :path
-  ";
-  $args = array(
-    ':path' => $pn->path,
+  //dsm($pn);
+
+  $sql = "
+    SELECT pk.*, k.keyword, k.priority AS site_priority, k.value AS value
+    FROM {kwresearch_page_keyword} pk
+    JOIN {kwresearch_keyword} k ON pk.kid = k.kid
+    WHERE path = :path
+  ";
+  $args = array(
+    ':path' => $pn->path,
   );
   $result = db_query($sql, $args);
   $page_keywords = array();
@@ -715,23 +715,23 @@ function kwresearch_load_page_keywords_by_page($pid) {
  * @param int $kid - id of keyword
  */
 function kwresearch_update_keyword_page_counts($kid) {
-  $sql = '
-    SELECT COUNT(*)
-    FROM {kwresearch_page_keyword}
-    WHERE kid = :kid
-  ';
-  $args = array(
-    ':kid' => $kid
+  $sql = '
+    SELECT COUNT(*)
+    FROM {kwresearch_page_keyword}
+    WHERE kid = :kid
+  ';
+  $args = array(
+    ':kid' => $kid
   );
   $count = db_query($sql, $args)->fetchField();
-  $sql = '
-    UPDATE {kwresearch_keyword}
-    SET page_count = :count
-    WHERE kid = :kid
-  ';
-  $args = array(
-    ':count' => $count,
-    ':kid' => $kid,
+  $sql = '
+    UPDATE {kwresearch_keyword}
+    SET page_count = :count
+    WHERE kid = :kid
+  ';
+  $args = array(
+    ':count' => $count,
+    ':kid' => $kid,
   );
   db_query($sql, $args);
   return $count;
@@ -828,13 +828,13 @@ function kwresearch_toggle_page_keyword_js() {
   $pid = (!$nid) ? $path : $nid;
 
   $page_keyword_obj = new stdClass();
-  $page_keyword_obj->priority = $_POST['priority'];
-  
+  $page_keyword_obj->priority = $_POST['priority'];
+
   if ($pid != -1) {
-    kwresearch_save_page_keyword($pid, $keyword, NULL, $page_keyword_obj);
-  }
-  else {
-  	$_SESSION['kwresearch']['node_add']['page_keywords'][$keyword] = $page_keyword_obj;
+    kwresearch_save_page_keyword($pid, $keyword, NULL, $page_keyword_obj);
+  }
+  else {
+  	$_SESSION['kwresearch']['node_add']['page_keywords'][$keyword] = $page_keyword_obj;
   }
 
   $output = array();
@@ -878,10 +878,10 @@ function kwresearch_analyze_js() {
 /**
  * Implements hook_node_insert().
  */
-function kwresearch_node_insert($node) {
+function kwresearch_node_insert($node) {
 	// TODO save added page_keyword saved to as $_SESSION['kwresearch']['node_add']['page_keywords'][$keyword] = $page_keyword_obj;
   if (TRUE || TRUE) {
-    //dsm('kwresearch_nodeapi op = update');
+    //dsm('kwresearch_nodeapi op = update');
 
     static $vocab_filtered = FALSE;
 
@@ -923,7 +923,7 @@ function kwresearch_node_insert($node) {
         $node_terms_str .= (($node_terms_str) ? ',' : '') . $term;
       }
     }
-    // save filtered taxonomy
+    // save filtered taxonomy
 
     if (!$vocab_filtered && $needs_filtering) {
       $vocab_filtered = TRUE;
@@ -931,9 +931,9 @@ function kwresearch_node_insert($node) {
       node_save($node);
 
     }
-    // delete keywords not submitted
+    // delete keywords not submitted
 
-    //$page_keywords = kwresearch_load_page_keywords_by_page($node->nid);
+    //$page_keywords = kwresearch_load_page_keywords_by_page($node->nid);
 
     $page_keyword_obj = new stdClass();
     $page_keyword_obj->priority = 0;
@@ -950,7 +950,7 @@ function kwresearch_node_insert($node) {
  */
 function kwresearch_node_update($node) {
   if (TRUE || TRUE) {
-    //dsm('kwresearch_nodeapi op = update');
+    //dsm('kwresearch_nodeapi op = update');
 
     static $vocab_filtered = FALSE;
 
@@ -992,7 +992,7 @@ function kwresearch_node_update($node) {
         $node_terms_str .= (($node_terms_str) ? ',' : '') . $term;
       }
     }
-    // save filtered taxonomy
+    // save filtered taxonomy
 
     if (!$vocab_filtered && $needs_filtering) {
       $vocab_filtered = TRUE;
@@ -1000,9 +1000,9 @@ function kwresearch_node_update($node) {
       node_save($node);
 
     }
-    // delete keywords not submitted
+    // delete keywords not submitted
 
-    //$page_keywords = kwresearch_load_page_keywords_by_page($node->nid);
+    //$page_keywords = kwresearch_load_page_keywords_by_page($node->nid);
 
     $page_keyword_obj = new stdClass();
     $page_keyword_obj->priority = 0;
@@ -1024,7 +1024,7 @@ function kwresearch_node_delete($node) {
 }
 
 /**
- * Implements hook_nodeapi().().
+ * Implements hook_nodeapi().
  * @param $node
  * @param $op
  * @param $a3
@@ -1033,14 +1033,14 @@ function kwresearch_node_delete($node) {
 function kwresearch_nodeapi_OLD(&$node, $op, $a3 = NULL, $a4 = NULL) { }
 
 /**
- * Implements hook_form_alter().().
+ * Implements hook_form_alter().
  *
  * Add Content Optimizer field set to node edit forms.
  * Add Content Analysis enabled field to content type admin form
  */
 function kwresearch_form_alter(&$form, $form_state, $form_id) {
   if (isset($form['type']['#value']) && ($form['type']['#value'] . '_node_form' == $form_id)) {
-    //dsm(variable_get('kwresearch_report_vocabulary', ''));
+    //dsm(variable_get('kwresearch_report_vocabulary', ''));
 
     require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'kwresearch') . "/includes/tax_report.inc";
 
@@ -1065,7 +1065,7 @@ function kwresearch_form_alter(&$form, $form_state, $form_id) {
             '#weight' => $weight++,
           );
         }
-        // check if any keywords have been added that is not in sync vocab
+        // check if any keywords have been added that is not in sync vocab
 
         if ($form['nid']['#value']) {
           if ($sync_vocab == $vid) {
@@ -1085,7 +1085,7 @@ function kwresearch_form_alter(&$form, $form_state, $form_id) {
         }
       }
     }
-    drupal_add_js(
+    drupal_add_js(
     array('kwresearch' => array(
         'tax_report_callback' => base_path() . 'kwresearch/keyword_tax_report_js',
         'tax_report_vocabs' => $report_vocabs,
@@ -1120,7 +1120,7 @@ function kwresearch_get_report_data_options($report = 'stats', $th = FALSE) {
     $options = array(
       'site_priority' => ($th) ? t('Site priority') : t('Keyword\'s priority for the site'),
       'site_value' => ($th) ? t('Site value') : t('Keyword\'s value for the site'),
-      //'page_priority' => ($th)?t('Page priority'):t('Keyword\'s priority for the page'),
+      //'page_priority' => ($th)?t('Page priority'):t('Keyword\'s priority for the page'),
       'total_dailyest' => ($th) ? t('Total daily') : t('Total daily estimated searches'),
       'competition' => ($th) ? t('Competition') : t('Rating of competition for keyword'),
       'bid' => ($th) ? t('Bid') : t('Recommended bid price for keyword'),
@@ -1139,7 +1139,7 @@ function kwresearch_get_report_data_options($report = 'stats', $th = FALSE) {
       'bing_dailyest' => ($th) ? t('Bing daily') : t('Bing daily estimated searches'),
     );
   }
-  // make api calls
+  // make api calls
 
   $sources = module_invoke_all('kwresearch_sources');
   if (isset($sources) && is_array($sources)) {
@@ -1163,11 +1163,11 @@ function kwresearch_format_report_data_value($values, $keyword = '', $type = 'te
     case 'term':
       $output = '<span class="kwresearch_keyword">' . $values['term'] . '</div>';
       break;
-      //case 'wordtracker_count':
+      //case 'wordtracker_count':
 
-//  $output = ($values['wordtracker_count']=='NA') ? 'NA': number_format($values['wordtracker_count']);
+//  $output = ($values['wordtracker_count']=='NA') ? 'NA': number_format($values['wordtracker_count']);
 
-//  break;
+//  break;
 
 
     case 'site_priority':
@@ -1286,14 +1286,14 @@ function kwresearch_count_sort($a, $b) {
  * @see http://drupal.org/node/1354
  */
 function kwresearch_parse_menu_item(&$item, &$msgs = array()) {
-  //dsm($item);  
+  //dsm($item);
 
   if (!is_array($item)) {
     $item = array(
       'link_path' => $item,
     );
   }
-  // remove base_path if found
+  // remove base_path if found
 
   $regex = '/^' . str_replace('/', '\/', base_path()) . '/';
   $item['link_path'] = preg_replace($regex, '', $item['link_path']);
@@ -1302,11 +1302,11 @@ function kwresearch_parse_menu_item(&$item, &$msgs = array()) {
   $normal_path = drupal_get_normal_path($item['link_path']);
   if ($item['link_path'] != $normal_path) {
     $msgs[] = array(
-      'message' => t('Keyword Research stores system paths only, but will use the URL alias in links. %link_path has been stored as %normal_path',  
+      'message' => t('Keyword Research stores system paths only, but will use the URL alias in links. %link_path has been stored as %normal_path',
         array(
         '%link_path' => $item['link_path'],
         '%normal_path' => $normal_path,
-      )
+      )
       ),
       'status' => 'status',
     );
@@ -1318,9 +1318,9 @@ function kwresearch_parse_menu_item(&$item, &$msgs = array()) {
       $item['options']['query'] = $parsed_link['query'];
     }
     else {
-      // Use unset() rather than setting to empty string
+      // Use unset() rather than setting to empty string
 
-      // to avoid redundant serialized data being stored.
+      // to avoid redundant serialized data being stored.
 
       unset($item['options']['query']);
     }
