diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index f013543..d5503d4 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -64,7 +64,7 @@ Fixing naming conflict b/w hook_enable and hook_disable
 #1175684 by sagannotcarl, rocket.nova: Add legend/help to features-diff
 #1210604 by catch: drush features-revert-all does not respect --force argument
 #954062 by irakli, hefox: Incorrect Component Labels in the Components Dropdown
-#1186694 by tunic, fearlsgroove: Features orders exportes recursivally; fields allowed_values array alphabetized, 
+#1186694 by tunic, fearlsgroove: Features orders exportes recursivally; fields allowed_values array alphabetized,
 #935152 by adamdicarlo, hadsie, hefox: Menu Items missing from Menu Links due to access callback user_is_anonymous
 #1258072 by hefox: Add suggestion for vocabulary when exporting a taxonomy field
 #1279212: add Features Breadcrumb
diff --git a/README.txt b/README.txt
index 846ebac..26f07e1 100644
--- a/README.txt
+++ b/README.txt
@@ -83,9 +83,9 @@ a feature module by using the feature create page at
 
 The features module also provides a way to manage features through a more
 targeted interface than `admin/modules`. The interface at
-`admin/structure/features` shows you only feature modules, and will also inform you
-if any of their components have been overridden. If this is the case, you can
-also re-create features to bring the module code up to date with any changes
+`admin/structure/features` shows you only feature modules, and will also inform
+you if any of their components have been overridden. If this is the case, you
+can also re-create features to bring the module code up to date with any changes
 that have occurred in the database.
 
 
@@ -141,9 +141,9 @@ Features provides several useful drush commands:
 
   Write a new feature in code containing the components listed.
   If called with no arguments, display a list of available components.
-  If called with one argument, take the argument as a component name and 
+  If called with one argument, take the argument as a component name and
   attempt to create a feature with the same name.
-  
+
   The option '--destination=foo' may be used to specify the path (from Drupal
   root) where the feature should be created. The default destination is
   'sites/all/modules'.
diff --git a/features.admin.inc b/features.admin.inc
index fd996c5..67bca05 100644
--- a/features.admin.inc
+++ b/features.admin.inc
@@ -1,7 +1,21 @@
 <?php
 
 /**
- * Form callback for features export form. Acts as a router based on the form_state.
+ * @file
+ * @todo.
+ */
+
+/**
+ * Form constructor for features export form.
+ *
+ * Acts as a router based on the form_state.
+ *
+ * @param object|null $feature
+ *   The feature object, if available. NULL by default.
+ *
+ * @see features_export_build_form_submit()
+ * @see features_export_build_form_populate()
+ * @ingroup forms
  */
 function features_export_form($form, $form_state, $feature = NULL) {
   module_load_include('inc', 'features', 'features.export');
@@ -152,7 +166,10 @@ function features_export_form($form, $form_state, $feature = NULL) {
 }
 
 /**
- * Validation for project field.
+ * Render API callback: Validates a project field.
+ *
+ * This function is assigned as an #element_validate callback in
+ * features_export_form().
  */
 function features_export_form_validate_field($element, &$form_state) {
   switch ($element['#name']) {
@@ -181,7 +198,7 @@ function features_export_form_validate_field($element, &$form_state) {
 }
 
 /**
- * Submit handler for features_export_form_build().
+ * Form submission handler for features_export_form().
  */
 function features_export_build_form_submit($form, &$form_state) {
   module_load_include('inc', 'features', 'features.export');
@@ -265,7 +282,7 @@ function features_export_build_form_submit($form, &$form_state) {
 }
 
 /**
- * AHAH handler for features_export_form_build().
+ * AJAX callback for features_export_form_build().
  */
 function features_export_build_form_populate($form, $form_state) {
   module_load_include('inc', 'features', 'features.export');
@@ -319,7 +336,7 @@ function features_filter_hidden($module) {
 }
 
 /**
- * admin/build/features page callback.
+ * Form constructor for the features configuration form.
  */
 function features_admin_form($form, $form_state) {
   // Load export functions to use in comparison.
@@ -332,7 +349,7 @@ function features_admin_form($form, $form_state) {
   $modules = array_filter(features_get_modules(), 'features_filter_hidden');
   $features = array_filter(features_get_features(), 'features_filter_hidden');
   $conflicts = features_get_conflicts();
-    
+
   foreach ($modules as $key => $module) {
     if ($module->status && !empty($module->info['dependencies'])) {
       foreach ($module->info['dependencies'] as $dependent) {
@@ -346,7 +363,7 @@ function features_admin_form($form, $form_state) {
   if ( empty($features) ) {
     $form['no_features'] = array(
       '#markup' => t('No Features were found. Please use the !create_link link to create
-      a new Feature module, or upload an existing Feature to your modules directory.', 
+      a new Feature module, or upload an existing Feature to your modules directory.',
       array('!create_link' => l(t('Create Feature'), 'admin/structure/features/create'))),
     );
     return $form ;
@@ -523,7 +540,7 @@ function features_admin_components($form, $form_state, $feature) {
   $form['#conflicts'] = $conflicts;
 
   $review = $revert = FALSE;
-    
+
   // Iterate over components and retrieve status for display
   $states = features_get_component_states(array($feature->name), FALSE);
   $form['revert']['#tree'] = TRUE;
@@ -549,7 +566,7 @@ function features_admin_components($form, $form_state, $feature) {
     else {
       $path = NULL;
     }
-      
+
     $storage = FEATURES_DEFAULT;
     if (array_key_exists($component, $states[$feature->name])) {
       $storage = $states[$feature->name][$component];
@@ -759,9 +776,11 @@ function features_cleanup_form_ignore(&$form, &$form_state) {
  * @param $feature
  *   A loaded feature object to display differences for.
  * @param $component
- *   Optional: specific component to display differences for. If excluded, all components are used.
+ *   (optional) Specific component to display differences for. If excluded, all
+ *   components are used.
  *
- * @return Themed display of what is different.
+ * @return
+ *   Themed display of what is different.
  */
 function features_feature_diff($feature, $component = NULL) {
   drupal_add_css(drupal_get_path('module', 'features') . '/features.css');
@@ -778,7 +797,7 @@ function features_feature_diff($feature, $component = NULL) {
 
     module_load_include('inc', 'diff', 'diff.engine');
     $formatter = new DrupalDiffFormatter();
-    
+
     $rows = array();
     foreach ($overrides as $component => $items) {
       $rows[] = array(array('data' => $component, 'colspan' => 4, 'header' => TRUE));
@@ -806,7 +825,7 @@ function features_compare_component_name($a, $b) {
 }
 
 /**
- * Javascript call back that returns the status of a feature.
+ * Javascript callback that returns the status of a feature.
  */
 function features_feature_status($feature) {
   module_load_include('inc', 'features', 'features.export');
diff --git a/features.drush.inc b/features.drush.inc
index c5e4bed..f2bb30d 100644
--- a/features.drush.inc
+++ b/features.drush.inc
@@ -2,16 +2,16 @@
 
 /**
  * @file
- *   Features module drush integration.
+ * Features module drush integration.
  */
 
 /**
  * Implements hook_drush_command().
  *
- * @See drush_parse_command() for a list of recognized keys.
- *
  * @return
  *   An associative array describing your command(s).
+ *
+ * @see drush_parse_command()
  */
 function features_drush_command() {
   $items = array();
diff --git a/includes/features.ctools.inc b/includes/features.ctools.inc
index 18e64a5..7e6b5f9 100644
--- a/includes/features.ctools.inc
+++ b/includes/features.ctools.inc
@@ -255,7 +255,7 @@ function _ctools_features_get_info($identifier = NULL, $reset = FALSE) {
       return $components[$identifier];
     }
     // New API identifier. Allows non-exportables related CTools APIs to be
-    // supported by an explicit `module:api:current_version` key. 
+    // supported by an explicit `module:api:current_version` key.
     else if (substr_count($identifier, ':') === 2) {
       list($module, $api, $current_version) = explode(':', $identifier);
       // If a schema component matches the provided identifier, provide that
diff --git a/includes/features.user.inc b/includes/features.user.inc
index 2bf87b7..7765c11 100644
--- a/includes/features.user.inc
+++ b/includes/features.user.inc
@@ -64,12 +64,12 @@ function user_permission_features_export_options() {
 /**
  * Implements hook_features_export_render().
  */
-function user_permission_features_export_render($module, $data) {  
+function user_permission_features_export_render($module, $data) {
   $perm_modules = &drupal_static(__FUNCTION__ . '_perm_modules');
   if (!isset($perm_modules)) {
     $perm_modules = user_permission_get_modules();
   }
-  
+
   $code = array();
   $code[] = '  $permissions = array();';
   $code[] = '';
