diff --git a/contrib/emvideo/emvideo.module b/contrib/emvideo/emvideo.module
index 3489177..07d4700 100644
--- a/contrib/emvideo/emvideo.module
+++ b/contrib/emvideo/emvideo.module
@@ -205,6 +205,12 @@ function emvideo_theme() {
     'emvideo_handler_field_duration' => array(
       'arguments' => array('item' => NULL, 'field' => NULL, 'node' => NULL, 'values' => NULL, 'format' => NULL),
     ),
+    'emvideo_handler_field_description' => array(
+      'arguments' => array('item' => NULL, 'field' => NULL, 'node' => NULL, 'values' => NULL, 'format' => NULL),
+    ),
+    'emvideo_handler_field_title' => array(
+      'arguments' => array('item' => NULL, 'field' => NULL, 'node' => NULL, 'values' => NULL, 'format' => NULL),
+    ),
   );
 
   $themes += emfield_provider_themes('emvideo');
@@ -264,6 +270,25 @@ function emvideo_field_settings($op, $field) {
       $data[$table_alias][$field_duration]['filter']['field'] = $field_duration;
       $data[$table_alias][$field_duration]['filter']['handler'] = 'content_handler_filter_numeric';
       $data[$table_alias][$field_duration]['sort']['field'] = $field_duration;
+      
+      $field_description = $field['field_name'] .'_description';
+      $data[$table_alias][$field_description] = $data[$table_alias][$field['field_name'] .'_embed'];
+      $data[$table_alias][$field_description]['title'] .= t(' - Description');
+      $data[$table_alias][$field_description]['field']['title'] = $data[$table_alias][$field_description]['title'];
+      $data[$table_alias][$field_description]['title short'] = t('Description');
+      $data[$table_alias][$field_description]['field']['title short'] = $data[$table_alias][$field_description]['title short'];
+      $data[$table_alias][$field_description]['field']['field'] = $field_description;
+      $data[$table_alias][$field_description]['field']['handler'] = 'emvideo_handler_field_description';
+      
+      $field_title= $field['field_name'] .'_title';
+      $data[$table_alias][$field_title] = $data[$table_alias][$field['field_name'] .'_embed'];
+      $data[$table_alias][$field_title]['title'] .= t(' - Title');
+      $data[$table_alias][$field_title]['field']['title'] = $data[$table_alias][$field_title]['title'];
+      $data[$table_alias][$field_title]['title short'] = t('Title');
+      $data[$table_alias][$field_title]['field']['title short'] = $data[$table_alias][$field_title]['title short'];
+      $data[$table_alias][$field_title]['field']['field'] = $field_title;
+      $data[$table_alias][$field_title]['field']['handler'] = 'emvideo_handler_field_title';
+      
       return $data;
     case 'database columns':
       $columns = emfield_emfield_field_settings($op, $field);
diff --git a/contrib/emvideo/includes/views/emvideo.views.inc b/contrib/emvideo/includes/views/emvideo.views.inc
index 6bd8dc0..1df95a3 100644
--- a/contrib/emvideo/includes/views/emvideo.views.inc
+++ b/contrib/emvideo/includes/views/emvideo.views.inc
@@ -39,6 +39,12 @@ function emvideo_views_handlers() {
       'emvideo_handler_field_duration' => array(
         'parent' => 'content_handler_field_multiple',
       ),
+      'emvideo_handler_field_description' => array(
+        'parent' => 'content_handler_field_multiple',
+      ),      
+      'emvideo_handler_field_title' => array(
+        'parent' => 'content_handler_field_multiple',
+      ),
 //       'emfield_handler_field_multiple' => array(
 //         'parent' => 'emfield_handler_field',
 //       ),
@@ -85,3 +91,11 @@ function theme_emvideo_handler_field_duration($item, $field, $node, $values, $fo
   }
   return $output;
 }
+
+function theme_emvideo_handler_field_description($item, $field, $node, $values, $format) {
+  return $item['description'];
+}
+
+function theme_emvideo_handler_field_title($item, $field, $node, $values, $format) {
+  return $item['title'];
+}
diff --git a/contrib/emvideo/includes/views/handlers/emvideo_handler_field_description.inc b/contrib/emvideo/includes/views/handlers/emvideo_handler_field_description.inc
new file mode 100644
index 0000000..5b9e3b2
--- /dev/null
+++ b/contrib/emvideo/includes/views/handlers/emvideo_handler_field_description.inc
@@ -0,0 +1,119 @@
+<?php
+
+/**
+ * @file
+ * Field handler for emfield providers.
+ *
+ * An extended subclass for field handling that adds multiple field grouping.
+ *
+ * Fields that want multiple value grouping options in addition to basic
+ * field and formatter handling can extend this class.
+ */
+class emvideo_handler_field_description extends content_handler_field_multiple {
+
+  /**
+   * Provide 'group multiple values' option.
+   */
+  function options_form(&$form, &$form_state) {
+    parent::options_form($form, $form_state);
+
+    $form['format']['#options'] = array(
+      'description' => t('Description'),
+    );
+  }
+
+  function render_provider($values) {
+    // We're down to a single node here, so we can retrieve the actual field
+    // definition for the node type being considered.
+    $field = content_fields($this->content_field['field_name'], $values->{$this->aliases['type']});
+    $options = $this->options;
+    $db_info = content_database_info($field);
+
+    // Build a pseudo-node from the retrieved values.
+    $node = drupal_clone($values);
+    $node->type = $values->{$this->aliases['type']};
+    $node->nid = $values->{$this->aliases['nid']};
+    $node->vid = $values->{$this->aliases['vid']};
+    // Some formatters need to behave differently depending on the build_mode
+    // (for instance: preview), so we provide one.
+    $node->build_mode = NODE_BUILD_NORMAL;
+
+    $item = array();
+    foreach ($db_info['columns'] as $column => $attributes) {
+      $item[$column] = $values->{$this->aliases[$attributes['column']]};
+    }
+
+    $item['#delta'] = $field['multiple'] ?  $values->{$this->aliases['delta']} : 0;
+
+    // Render items.
+    $output = theme('emvideo_handler_field_description', $item, $field, $node, $values, $options['format']);
+    return $this->render_link($output, $values);
+  }
+
+  function render($values) {
+    // If this is not a grouped field, use content_handler_field::render().
+    if (!$this->defer_query) {
+      return $this->render_provider($values);
+    }
+
+    // We're down to a single node here, so we can retrieve the actual field
+    // definition for the node type being considered.
+    $field = content_fields($this->content_field['field_name'], $values->{$this->aliases['type']});
+    $options = $this->options;
+
+    $vid = $values->{$this->field_alias};
+    if (isset($this->field_values[$vid])) {
+      // Gather items, respecting the 'Display n values starting from m' settings.
+      $count_skipped = 0;
+      $items = array();
+      foreach ($this->field_values[$vid] as $item) {
+        if (empty($options['multiple']['multiple_from']) || ($count_skipped >= $options['multiple']['multiple_from'])) {
+          if (empty($options['multiple']['multiple_number']) || (count($items) < $options['multiple']['multiple_number'])) {
+            // Grab the nid - needed for render_link().
+            $nid = $item['_nid'];
+            unset($item['_nid']);
+            $items[] = $item;
+          }
+          else {
+            break;
+          }
+        }
+        $count_skipped++;
+      }
+
+      // Build a pseudo-node from the retrieved values.
+      $node = drupal_clone($values);
+      // content_format and formatters will need a 'type'.
+      $node->type = $values->{$this->aliases['type']};
+      $node->nid = $values->{$this->aliases['nid']};
+      $node->vid = $values->{$this->aliases['vid']};
+
+      // Some formatters need to behave differently depending on the build_mode
+      // (for instance: preview), so we provide one.
+      $node->build_mode = NODE_BUILD_NORMAL;
+
+      // Render items.
+      if ($items) {
+        $rendered = array();
+        // Single-value formatter.
+        foreach ($items as $item) {
+          $output = theme('emvideo_handler_field_description', $item, $field, $node, $values, $options['format']);
+          if (!empty($output)) {
+            $rendered[] = $this->render_link($output, (object) array('nid' => $nid));
+          }
+        }
+
+        if (count($rendered) > 1) {
+          // TODO: could we use generic field display ?
+          return theme('content_view_multiple_field', $rendered, $field, $values);
+        }
+        elseif ($rendered) {
+          return $rendered[0];
+        }
+      }
+    }
+
+    return '';
+  }
+
+}
diff --git a/contrib/emvideo/includes/views/handlers/emvideo_handler_field_title.inc b/contrib/emvideo/includes/views/handlers/emvideo_handler_field_title.inc
new file mode 100644
index 0000000..8087093
--- /dev/null
+++ b/contrib/emvideo/includes/views/handlers/emvideo_handler_field_title.inc
@@ -0,0 +1,119 @@
+<?php
+
+/**
+ * @file
+ * Field handler for emfield providers.
+ *
+ * An extended subclass for field handling that adds multiple field grouping.
+ *
+ * Fields that want multiple value grouping options in addition to basic
+ * field and formatter handling can extend this class.
+ */
+class emvideo_handler_field_title extends content_handler_field_multiple {
+
+  /**
+   * Provide 'group multiple values' option.
+   */
+  function options_form(&$form, &$form_state) {
+    parent::options_form($form, $form_state);
+
+    $form['format']['#options'] = array(
+      'title' => t('Title'),
+    );
+  }
+
+  function render_provider($values) {
+    // We're down to a single node here, so we can retrieve the actual field
+    // definition for the node type being considered.
+    $field = content_fields($this->content_field['field_name'], $values->{$this->aliases['type']});
+    $options = $this->options;
+    $db_info = content_database_info($field);
+
+    // Build a pseudo-node from the retrieved values.
+    $node = drupal_clone($values);
+    $node->type = $values->{$this->aliases['type']};
+    $node->nid = $values->{$this->aliases['nid']};
+    $node->vid = $values->{$this->aliases['vid']};
+    // Some formatters need to behave differently depending on the build_mode
+    // (for instance: preview), so we provide one.
+    $node->build_mode = NODE_BUILD_NORMAL;
+
+    $item = array();
+    foreach ($db_info['columns'] as $column => $attributes) {
+      $item[$column] = $values->{$this->aliases[$attributes['column']]};
+    }
+
+    $item['#delta'] = $field['multiple'] ?  $values->{$this->aliases['delta']} : 0;
+
+    // Render items.
+    $output = theme('emvideo_handler_field_title', $item, $field, $node, $values, $options['format']);
+    return $this->render_link($output, $values);
+  }
+
+  function render($values) {
+    // If this is not a grouped field, use content_handler_field::render().
+    if (!$this->defer_query) {
+      return $this->render_provider($values);
+    }
+
+    // We're down to a single node here, so we can retrieve the actual field
+    // definition for the node type being considered.
+    $field = content_fields($this->content_field['field_name'], $values->{$this->aliases['type']});
+    $options = $this->options;
+
+    $vid = $values->{$this->field_alias};
+    if (isset($this->field_values[$vid])) {
+      // Gather items, respecting the 'Display n values starting from m' settings.
+      $count_skipped = 0;
+      $items = array();
+      foreach ($this->field_values[$vid] as $item) {
+        if (empty($options['multiple']['multiple_from']) || ($count_skipped >= $options['multiple']['multiple_from'])) {
+          if (empty($options['multiple']['multiple_number']) || (count($items) < $options['multiple']['multiple_number'])) {
+            // Grab the nid - needed for render_link().
+            $nid = $item['_nid'];
+            unset($item['_nid']);
+            $items[] = $item;
+          }
+          else {
+            break;
+          }
+        }
+        $count_skipped++;
+      }
+
+      // Build a pseudo-node from the retrieved values.
+      $node = drupal_clone($values);
+      // content_format and formatters will need a 'type'.
+      $node->type = $values->{$this->aliases['type']};
+      $node->nid = $values->{$this->aliases['nid']};
+      $node->vid = $values->{$this->aliases['vid']};
+
+      // Some formatters need to behave differently depending on the build_mode
+      // (for instance: preview), so we provide one.
+      $node->build_mode = NODE_BUILD_NORMAL;
+
+      // Render items.
+      if ($items) {
+        $rendered = array();
+        // Single-value formatter.
+        foreach ($items as $item) {
+          $output = theme('emvideo_handler_field_title', $item, $field, $node, $values, $options['format']);
+          if (!empty($output)) {
+            $rendered[] = $this->render_link($output, (object) array('nid' => $nid));
+          }
+        }
+
+        if (count($rendered) > 1) {
+          // TODO: could we use generic field display ?
+          return theme('content_view_multiple_field', $rendered, $field, $values);
+        }
+        elseif ($rendered) {
+          return $rendered[0];
+        }
+      }
+    }
+
+    return '';
+  }
+
+}
