diff --git a/stormorganization/stormorganization.admin.inc b/stormorganization/stormorganization.admin.inc
index 02d57d0..513ea0b 100644
--- a/stormorganization/stormorganization.admin.inc
+++ b/stormorganization/stormorganization.admin.inc
@@ -256,15 +256,21 @@ function stormorganization_list_filter_reset($form, &$form_state) {
 function stormorganization_autocomplete($string = '') {
   $matches = array();
   if ($string) {
-    $s = "SELECT title FROM {node} AS n WHERE n.type='stormorganization' AND LOWER(title) LIKE LOWER('%s%%')";
-    $s = stormorganization_access_sql($s);
-    $s = db_rewrite_sql($s);
-
-    $result = db_query_range($s, $string, 0, 10);
-    while ($org = db_fetch_object($result)) {
-      $matches[$org->title] = check_plain($org->title);
+    $query = db_select('node', 'n');
+
+    $return = $query
+      ->addTag('node_access')
+      ->fields('n', array('nid', 'title'))
+      ->condition('n.type', 'stormorganization')
+      ->condition('title', '%' . db_like($string) . '%', 'LIKE')
+      ->range(0, 10)
+      ->execute();
+
+      foreach($return as $row) {
+        $matches[$row->title] = check_plain($row->title);
+      }
     }
   }
-
-  drupal_json($matches);
+  drupal_json_output($matches);
 }
+
diff --git a/stormperson/stormperson.admin.inc b/stormperson/stormperson.admin.inc
index f2abb20..d7d4e9a 100644
--- a/stormperson/stormperson.admin.inc
+++ b/stormperson/stormperson.admin.inc
@@ -188,17 +188,21 @@ function _stormperson_organization_people_js($organization_nid=0) {
   $people = array();
 
   if ($organization_nid) {
-    $s = "SELECT n.nid, n.title FROM {node} n INNER JOIN {stormperson} AS spe ON n.vid=spe.vid WHERE n.status=1 AND n.type='stormperson' AND spe.organization_nid=%d ORDER BY n.title";
-    $s = stormperson_access_sql($s);
-    $s = db_rewrite_sql($s);
-    $r = db_query($s, $organization_nid);
-
-    while ($item = db_fetch_object($r)) {
-      $nid = $item->nid;
-      $people[$nid] = $item->title;
+      $query = db_select('node', 'n')
+        ->fields('n', array('nid', 'title'))
+        ->condition('n.status', 1)
+        ->condition('n.type', 'organization')
+        ->condition('spe.organization', $organization_nid)
+        ->join('stormperson', 'spe', 'n.vid = spe.vid')
+        ->addTag('node_access');
+
+  $result = $query->execute();
+    foreach($result as $row) {
+      $nid = $row->name;
+      $people[$nid] = $row->title;
     }
   }
-  print drupal_to_js($people);
+  print drupal_json_encode($people);
   exit();
 }
 
diff --git a/stormperson/stormperson.module b/stormperson/stormperson.module
index 2d53ace..17707ee 100644
--- a/stormperson/stormperson.module
+++ b/stormperson/stormperson.module
@@ -434,12 +434,19 @@ function stormperson_form(&$node) {
 
 function stormperson_validate($node, &$form) {
   if (!empty($node->user_name)) {
-    $ass_user = user_load(array('name' => $node->user_name));
+    $username = $node->user_name;
+    $ass_user = user_load_by_name($username);
     if (!empty($ass_user)) {
-      $result = db_query("SELECT n.nid, n.title FROM {node} n JOIN {stormperson} stp ON (n.nid = stp.nid) WHERE stp.user_uid = %d", $ass_user->uid);
-      $row = db_fetch_array($result);
-      if ($row && (empty($form['#node']->user_name) || ($form['#node']->user_name != $node->user_name))) {
-        form_set_error('user_name', t('This Drupal user is already assigned to a Storm person (!link). The same Drupal user can not be assigned to two Storm people.', array('!link' => l($row['title'], 'node/'. $row['nid']))));
+      $query = db_select('node', 'n');
+
+      $query->fields('n', array('nid', 'title'))
+            ->condition('stp.user_uid', $ass_user->uid)
+            ->join('stormperson', 'stp', 'n.nid = stp.nid');
+
+      $row = $query->execute()->fetchAssoc();
+        if ($row && (empty($form['#node']->user_name) || ($form['#node']->user_name != $node->user_name))) {
+          $message = t('This Drupal user is already assigned to a Storm person (!link). The same Drupal user can not be assigned to two Storm people.', array('!link' => l($row['title'], 'node/'. $row['nid'])));
+        form_set_error('user_name', $message);
       }
     }
   }
@@ -448,13 +455,21 @@ function stormperson_validate($node, &$form) {
 function stormperson_user_autocomplete($string = '') {
   $matches = array();
   if ($string) {
-    $result = db_query_range("SELECT name FROM {users} WHERE name LIKE '%s%%' AND uid NOT IN (SELECT user_uid FROM {stormperson})", $string, 0, 10);
-    while ($user = db_fetch_object($result)) {
-      $matches[$user->name] = check_plain($user->name);
+    $query = db_select('users', 'u')
+      ->fields('u', array('name', 'uid'))
+      ->condition('name', db_like($string) . '%', 'LIKE');
+
+    $subquery = db_select('stormperson', 'stp');
+    $subquery->addField('stp', 'user_uid', 'uid');
+
+    $query->condition('uid', $subquery, 'NOT IN');
+    $result = $query->execute();
+
+    foreach($result as $row) {
+      $matches[$row->name] = check_plain($row->name);
     }
+    drupal_json_output($matches);
   }
-
-  drupal_json($matches);
 }
 
 function stormperson_insert($node) {
@@ -509,7 +524,8 @@ function stormperson_update($node) {
 }
 
 function _stormperson_beforesave(&$node) {
-  $ass_user = user_load(array('name' => $node->user_name));
+  $username = $node->user_name;
+  $ass_user = user_load_by_name($username);
   $node->user_uid = $ass_user->uid;
   if (!$node->email) {
     $node->email = $ass_user->mail;
