diff --git a/plugins/user_relationship_node_access/user_relationship_node_access.module b/plugins/user_relationship_node_access/user_relationship_node_access.module
index 6a0763d..603a41c 100644
--- a/plugins/user_relationship_node_access/user_relationship_node_access.module
+++ b/plugins/user_relationship_node_access/user_relationship_node_access.module
@@ -5,6 +5,33 @@
 
 
 /**
+ * Theme function for styling out the permissions form
+ */
+function theme_user_relationship_node_access_form($form) {
+  $actions = array('view', 'update', 'delete');
+  foreach ($actions as $key => $value) {
+    if (isset($form[$value])) {
+      $header[] = t($value);
+    }
+  }
+
+  $rows = array();
+  foreach ($form[$actions[0]]['#options'] as $rtid => $r_name) {
+    $row = array($r_name);
+    foreach ($header as $action) {
+      unset($form[$action][$rtid]['#title']);
+      $row[] = drupal_render($form[$action][$rtid]);
+    }
+    $rows[] = $row;
+  }
+
+  array_unshift($header, t('Relationship Type'));
+
+  return theme('table', $header, $rows);
+}
+
+
+/**
  * hook_enable()
  */
 function user_relationship_node_access_enable() {
@@ -34,11 +61,18 @@ function _user_relationship_node_access_disabling($set = NULL) {
 
 
 /**
+ * hook_perm()
+ */
+function user_relationship_node_access_perm() {
+  return array('ur grant node access');
+}
+
+
+/**
  * hook_form_alter()
  */
 function user_relationship_node_access_form_alter($form_id, &$form) {
-  global $user;
-  if ($form['#node'] && ($form['#node']->uid != $user->uid)) {
+  if (!user_access('ur grant node access')) {
     return;
   }
 
@@ -79,6 +113,7 @@ function user_relationship_node_access_form_alter($form_id, &$form) {
     '#collapsible'  => TRUE,
     '#collapsed'    => TRUE,
     '#tree'         => TRUE,
+    '#theme'        => 'user_relationship_node_access_form',
   );
   foreach (array('view', 'update', 'delete') as $action) {
   	$form['user_relationship_node_access'][$action] = array(
@@ -97,8 +132,7 @@ function user_relationship_node_access_form_alter($form_id, &$form) {
  * hook_nodeapi()
  */
 function user_relationship_node_access_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
-  global $user;
-  if ($node->uid != $user->uid) {
+  if (!user_access('ur grant node access')) {
     return;
   }
 
@@ -155,14 +189,17 @@ function user_relationship_node_access_node_grants($user, $op) {
 	));
 
   foreach($relationships as $relationship) {
-    $author_uid = $relationship->requestee_id == $user->uid ? $relationship->requester_id : $relationship->requestee_id;
+    $viewer_uid = $relationship->requestee_id == $user->uid ? $relationship->requester_id : $relationship->requestee_id;
 
     if ($relationship->is_oneway) {
+      // (You to Them) means the viewer should be the requester
       $grants["user_relationship_node_access_{$relationship->rtid}_yt"][] = $relationship->requester_id;
+
+      // (Them to You) means the viewer should be the requestee
       $grants["user_relationship_node_access_{$relationship->rtid}_ty"][] = $relationship->requestee_id;
 	  }
 	  else {
-	    $grants["user_relationship_node_access_{$relationship->rtid}"][] = $author_uid;
+	    $grants["user_relationship_node_access_{$relationship->rtid}"][] = $viewer_uid;
 	  }
 	}
 
