diff --git a/FeedsQueryPathParser.inc b/FeedsQueryPathParser.inc
index d9a9fdd..da3b2f1 100644
--- a/FeedsQueryPathParser.inc
+++ b/FeedsQueryPathParser.inc
@@ -136,25 +136,28 @@ class FeedsQueryPathParser extends FeedsParser {
       '#collapsible' => TRUE,
       '#collapsed' => TRUE,
     );
+    
     if (empty($mappings)) {
-      $form['querypath']['error_message']['#markup'] = '<div class="help">' . t('FeedsQueryPathParser: No mappings were defined.') . '</div>';
+      $form['querypath']['error_message']['#markup'] = '<div class="help">' . t('FeedsQueryPathParser: No mappings were defined. Define mappings at !link.', array('!link' => l('admin/structure/feeds/edit/' . $this->id .'/mapping', 'admin/structure/feeds/edit/' . $this->id .'/mapping'))) . '</div>';
       return $form;
     }
     $form['querypath']['context'] = array(
       '#type' => 'textfield',
       '#title' => t('Context'),
       '#required' => TRUE,
-      '#description' => t('This is the base query, all other queries will run in this context.'),
+      '#description'   => t('The element that represents the beginning of a new item, like h1 or body. If you identify a context that occurs more than once in a feed, a new node or item will be created each time it is encountered.'),
       '#default_value' => isset($source_config['context']) ? $source_config['context'] : '',
       '#maxlength' => 1024,
     );
     $form['querypath']['sources'] = array(
+      '#title' => t('Selectors'),
       '#type' => 'fieldset',
+      '#description'   => t('Indicate the CSS selector that marks where each field is located within the context, like div#content or h2:first.'),
     );
     $form['querypath']['attrs'] = array(
       '#title' => t('Attributes'),
       '#type' => 'fieldset',
-      '#description' => t('If you want an attribute returned for a field, type its name here.'),
+      '#description' => t('Identify the attribute value to use for a field, if desired, like src or title. The element text will be used if no attribute is identified.'),
       '#collapsible' => TRUE,
       '#collapsed' => TRUE,
     );
@@ -178,7 +181,7 @@ class FeedsQueryPathParser extends FeedsParser {
         '#maxlength' => 1024,
       );
       if (!empty($variables)) {
-        $form['querypath']['sources'][$source]['#description'] .= '<br>' . t('The variables '. implode(', ', $variables). ' are availliable for replacement.');
+        $form['querypath']['sources'][$source]['#description'] .= '<br>' . t('The variables '. implode(', ', $variables). ' are availiable for replacement.');
       }
       $variables[] = '{' . $target . '}';
       $form['querypath']['attrs'][$source] = array(
@@ -189,9 +192,14 @@ class FeedsQueryPathParser extends FeedsParser {
         '#maxlength' => 1024,
       );
     }
-    $form['querypath']['rawXML'] = array(
+    $form['querypath']['raw'] = array(
+      '#title' => t('Raw XML or HTML'),
+      '#type' => 'fieldset',
+      '#description'   => t('Check any fields that should use the complete raw XML or HTML. If not checked, they will be populated with stripped text.'),
+    );
+
+    $form['querypath']['raw']['rawXML'] = array(
       '#type' => 'checkboxes',
-      '#title' => t('Select the queries you would like to return raw XML or HTML'),
       '#options' => $mappings,
       '#default_value' => isset($source_config['rawXML']) ? $source_config['rawXML'] : array(),
     );
@@ -347,3 +355,10 @@ class FeedsQueryPathParser extends FeedsParser {
     }
   }
 }
+
+/**
+ * Implementation of hook_form_feeds_ui_mapping_form_alter().
+ */
+function feeds_querypath_parser_form_feeds_ui_mapping_form_alter(&$form, &$form_state) {
+  $form['help']['#markup'] .= '<p>'. t('The QueryPath Expression source allows you to use QueryPath to populate each field. Add a new QueryPath Expression source for each target you want to map.') .'</p>';
+}
