diff -rupN conditional_fields-bak/conditional_fields.module conditional_fields/conditional_fields.module
--- conditional_fields-bak/conditional_fields.module	2011-07-11 16:21:56.009664000 -0500
+++ conditional_fields/conditional_fields.module	2011-07-11 18:25:22.899927000 -0500
@@ -1223,3 +1223,19 @@ function conditional_fields_dependency_d
     ));
   }
 }
+
+
+/**
+ * Implements hook_features_api().
+ */
+function conditional_fields_features_api() {
+  return array(
+    'conditional_fields' => array(
+      'name' => t('Conditional Fields'),
+      'default_hook' => 'conditional_fields_default_fields',
+      'default_file' => FEATURES_DEFAULTS_INCLUDED,
+      'features_source' => TRUE,
+      'file' => drupal_get_path('module', 'conditional_fields') .'/includes/conditional_fields.features.inc',
+    ),
+  );
+}
\ No newline at end of file
diff -rupN conditional_fields-bak/includes/conditional_fields.admin.inc conditional_fields/includes/conditional_fields.admin.inc
--- conditional_fields-bak/includes/conditional_fields.admin.inc	2011-07-11 16:21:56.033640000 -0500
+++ conditional_fields/includes/conditional_fields.admin.inc	2011-07-11 20:45:40.587619000 -0500
@@ -24,7 +24,6 @@ function conditional_fields_dependencies
   $instances = field_info_instances();
   $entities_names = conditional_fields_entities_names();
   $dependencies = conditional_fields_load_dependencies();
-
   $header = array(t('Dependee'), t('Dependent'), t('Description'), array('data' => t('Operations'), 'colspan' => 2));
   $states = array_map('drupal_strtolower', conditional_fields_states());
   $conditions = array();
diff -rupN conditional_fields-bak/includes/conditional_fields.features.inc conditional_fields/includes/conditional_fields.features.inc
--- conditional_fields-bak/includes/conditional_fields.features.inc	1969-12-31 18:00:00.000000000 -0600
+++ conditional_fields/includes/conditional_fields.features.inc	2011-07-11 20:42:53.019604000 -0500
@@ -0,0 +1,109 @@
+<?php
+
+/**
+ * @file conditional_fields.features.inc
+ * Features integration hooks
+ */
+
+/**
+ * Implements hook_features_export_options().
+ */
+function conditional_fields_features_export_options() {
+  $dependencies = conditional_fields_load_dependencies();
+  foreach ($dependencies as $type => $data) {
+  	if ($type = 'node') {
+  	  foreach ($data as $dependency => $info) {
+  	  	if (!isset($options[$dependency])) {
+  	  		$options[$dependency] = db_query('SELECT name FROM {node_type} WHERE type = :type', array(':type' => $dependency))
+                                    ->fetchField() .' '. t('Conditional Fields');
+  	    }
+  	  }
+  	}
+  }
+  return $options;
+}
+
+/**
+ * Implements hook_features_export().
+ */
+function conditional_fields_features_export($data, &$export, $module_name = '') {
+  $export['dependencies']['conditional_fields'] = 'conditional_fields';
+  
+  foreach ($data as $node_type) {
+    $export['features']['conditional_fields'][$node_type] = $node_type;
+  }
+}
+
+/**
+ * Implments hook_features_export_render()
+ */
+function conditional_fields_features_export_render($module_name = '', $data) {
+  $dependencies = conditional_fields_load_dependencies();
+  if (isset($dependencies['node'])) {
+    $code[] = '  $items = array();';
+    $node_types = $dependencies['node'];
+    foreach ($data as $type) {
+      foreach($node_types[$type] as $k => $v) {
+        if (isset($v['dependees'])) {
+          $code[] = '  $items[] = array(';
+          $code[] = "    'node_type' => '". $type ."',";
+          $code[] = "    'dependent' => '". $k ."',";
+          $dependee = array_keys($v['dependees']);
+          $code[] = "    'dependee' => '". $dependee[0] ."',";
+          $code[] = "    'options' => ";
+          $vals = explode("\n", var_export($v['dependees'][$dependee[0]]['options'], TRUE));
+          // $code += $vals would work just as well here, but this formats the output nicer.
+          foreach ($vals as $val) {
+            $code[] = '      '. $val;
+          }
+          $code[] = '  );';
+        }
+      }
+    }
+    $code[] = '';
+    $code[] = '  return $items;';
+    $output = implode("\n", $code);
+  }
+  if (!isset($output)) {
+    $output = '';
+  }
+  return array('conditional_fields_default_fields' => $output);
+}
+
+/**
+ * Implements hook_features_rebuild().
+ */
+function conditional_fields_features_rebuild($module) {
+  $defaults = module_invoke($module, 'conditional_fields_default_fields');
+
+  $dependencies = conditional_fields_load_dependencies();
+  $instances = field_info_instances();
+
+  if (!empty($defaults)) {
+    $node_types = array();
+    foreach($defaults as $field) {
+      if (isset($dependencies['node'][$field['node_type']])) {
+        foreach ($dependencies['node'][$field['node_type']] as $k => $v) {
+          if (isset($v['dependees'])) {
+            foreach ($v['dependees'] as $foo => $bar) {
+              $deps_to_remove[$bar['id']] = $bar['id'];
+            }
+          }
+        }
+        conditional_fields_dependency_delete($deps_to_remove);
+      }
+      $node_instances = $instances['node'][$field['node_type']];
+      $dependee_id = $node_instances[$field['dependee']]['id'];
+      $dependent_id = $node_instances[$field['dependent']]['id'];
+      $options = $field['options'];
+      conditional_fields_dependency_insert($dependee_id, $dependent_id, $options);
+    }
+  }
+}
+
+/**
+ * Implementation of hook_features_revert().
+ */
+function conditional_fields_features_revert($module) {
+  return conditional_fields_features_rebuild($module);
+}
\ No newline at end of file
