diff --git a/cod_session/cod_session.info b/cod_session/cod_session.info
index a290bef..bc9cb02 100644
--- a/cod_session/cod_session.info
+++ b/cod_session/cod_session.info
@@ -16,13 +16,11 @@ dependencies[] = flag
 dependencies[] = image
 dependencies[] = list
 dependencies[] = menu
-dependencies[] = node_reference
 dependencies[] = number
 dependencies[] = quicktabs
 dependencies[] = quicktabs_tabstyles
 dependencies[] = search
 dependencies[] = strongarm
-dependencies[] = user_reference
 dependencies[] = views
 dependencies[] = views_bulk_operations
 dependencies[] = views_content
diff --git a/cod_session/cod_session.module b/cod_session/cod_session.module
index 75f34a6..bb48fe1 100644
--- a/cod_session/cod_session.module
+++ b/cod_session/cod_session.module
@@ -172,7 +172,7 @@ function cod_session_schedule_tabs() {
 /**
  * Implements hook_form_FORM_ID_alter().
  */
-/*function cod_session_form_node_type_form_alter(&$form, &$form_state, $form_id) {
+function cod_session_form_node_type_form_alter(&$form, &$form_state, $form_id) {
   if (isset($form['#node_type'])) {
     // Provide scheduling controls for this content type.
     $form['cod_session'] = array(
@@ -195,7 +195,7 @@ function cod_session_schedule_tabs() {
       // @todo, also make reference to room spanning?
     );
   }
-}*/
+}
 
 /**
  * Implements hook_form_FORM_ID_alter().
@@ -452,8 +452,8 @@ function cod_session_schedule_form_submit($form, $form_state) {
   // @todo consider whether there should be a
   // cod_session_schedule_form_validate() with node_validate().
   $item = node_load($form_state['values']['session'], NULL, TRUE);
-  $item->field_session_slot[LANGUAGE_NONE][0]['nid'] = $form_state['values']['schedule']['slot']->nid;
-  $item->field_session_room[LANGUAGE_NONE][0]['nid'] = $form_state['values']['schedule']['room']->nid;
+  $item->field_session_slot['und'][0]['target_id'] = $form_state['values']['schedule']['slot']->nid;
+  $item->field_session_room['und'][0]['target_id'] = $form_state['values']['schedule']['room']->nid;
   $item = node_submit($item);
   node_save($item);
 }
@@ -484,8 +484,8 @@ function cod_session_node_view_alter(&$build) {
       global $user;
       $account = $user;
 
-      foreach($build['field_speakers']['#items'] as $speaker) {
-        if ($speaker['uid'] == $account->uid) $presenter = TRUE;
+      foreach($build['field_session_speakers']['#items'] as $speaker) {
+        if ($speaker['entity']->uid == $account->uid) $presenter = TRUE;
       }
     }
 
@@ -499,9 +499,9 @@ function cod_session_node_view_alter(&$build) {
  * Implements hook_node_presave().
  */
 function cod_session_node_presave($node) {
-  if (!empty($node->field_session_slot[LANGUAGE_NONE][0]['nid']) && !empty($node->field_session_room[LANGUAGE_NONE][0]['nid'])) {
-    $room = node_load($node->field_session_room[LANGUAGE_NONE][0]['nid']);
-    $slot = node_load($node->field_session_slot[LANGUAGE_NONE][0]['nid']);
+  if (!empty($node->field_session_slot['und'][0]['target_id']) && !empty($node->field_session_room['und'][0]['target_id'])) {
+    $room = node_load($node->field_session_room['und'][0]['target_id']);
+    $slot = node_load($node->field_session_slot['und'][0]['target_id']);
     drupal_set_message(t('%name is scheduled for @slot in @room', array('%name' => $node->title, '@slot' => $slot->title, '@room' => $room->title)));
   }
 }
@@ -512,18 +512,18 @@ function cod_session_node_presave($node) {
 function cod_session_node_validate($node, $form, &$form_state) {
   // If the node has a room and slot field, make sure there are no existing nodes that have the same room/slot combination.
   // Unless the node is not unique check room capacity.
-  if (!empty($node->field_session_slot[LANGUAGE_NONE][0]['nid']) && !empty($node->field_session_room[LANGUAGE_NONE][0]['nid'])) {
+  if (!empty($node->field_session_slot['und'][0]['target_id']) && !empty($node->field_session_room['und'][0]['target_id'])) {
     $slots = $rooms = array();
     foreach ($node->field_session_slot as $slot) {
-      if (!empty($slot[0]['nid'])) {
-        $slots[] = $slot[0]['nid'];
+      if (!empty($slot[0]['target_id'])) {
+        $slots[] = $slot[0]['target_id'];
       }
     }
 
     // Get rooms.
     foreach ($node->field_session_room as $room) {
-      if (!empty($room[0]['nid'])) {
-        $rooms[$room[0]['nid']] = node_load($room[0]['nid']);
+      if (!empty($room[0]['target_id'])) {
+        $rooms[$room[0]['target_id']] = node_load($room[0]['target_id']);
       }
     }
 
@@ -543,8 +543,8 @@ function cod_session_node_validate($node, $form, &$form_state) {
       $query = new EntityFieldQuery();
       $query->entityCondition('entity_type', 'node')
         ->propertyCondition('status', 1)
-        ->fieldCondition('field_session_room', 'nid', $room_nids, 'IN')
-        ->fieldCondition('field_session_slot', 'nid', $slots, 'IN');
+        ->fieldCondition('field_session_room', 'target_id', $room_nids, 'IN')
+        ->fieldCondition('field_session_slot', 'target_id', $slots, 'IN');
       if (isset($node->nid)) {
         // Don't let this node block unscheduling.
         $query->propertyCondition('nid', $node->nid, '!=');
@@ -561,7 +561,7 @@ function cod_session_node_validate($node, $form, &$form_state) {
           $capacity--;
           if ($capacity <= 0 || (variable_get('cod_unique_' . $scheduled->type, COD_SCHEDULE_SINGLE) == COD_SCHEDULE_SINGLE)) {
             // @todo handle this scheduled item being in multiple rooms?
-            $room = $rooms[$scheduled->field_session_room[LANGUAGE_NONE][0]['nid']];
+            $room = $rooms[$scheduled->field_session_room['und'][0]['target_id']];
             $errors[] = t('!session in !room', array('!session' => l($scheduled->title, 'node/' . $scheduled->nid), '!room' => l($room->title, 'node/' . $room->nid)));
           }
         }
