diff --git a/plugins/content_types/content.inc b/plugins/content_types/content.inc
new file mode 100644
index 0000000..2587bc4
--- /dev/null
+++ b/plugins/content_types/content.inc
@@ -0,0 +1,101 @@
+<?php
+
+/**
+ * Plugins are described by creating a $plugin array which will be used
+ * by the system that includes this file.
+ */
+$plugin = array(
+  'single' => TRUE,
+  'title' => t('Content'),
+  'icon' => 'icon_node.png',
+  'description' => t('Bla bla bla bla'),
+  'required context' => new ctools_context_required(t('Entity'), 'entity'),
+  'category' => t('Dynamic formatters'),
+  'defaults' => array(
+    'default_preset' => '',
+    'preset_field' => '',
+  ),
+);
+
+/**
+ * Render the custom content type.
+ */
+function dynamic_formatters_content_content_type_render($subtype, &$conf, $panel_args, $context) {
+  if (empty($context) || empty($context->data)) {
+    return;
+  }
+  $block = new stdClass();
+
+  $plugin = $context->plugin;
+  $entity_type = explode(':', $plugin);
+  $entity_type = $entity_type[1];
+  // get the field name
+  $preset_field = explode(':', $conf['preset_field']);
+  $preset_field = $preset_field[2];
+  $preset_name = $context->data->{$preset_field}['und'][0]['preset'];
+  $preset = dynamic_formatters_preset_load($preset_name);
+  $renderer_class = ctools_plugin_load_class('dynamic_formatters', 'plugins', $preset->renderer, 'renderer');
+  $renderer = new $renderer_class();
+
+  $info->entity_type = $entity_type;
+  $block->content = $renderer->render($preset, $context->data, 'parent_style', $info);
+
+  return $block;
+}
+
+/**
+ * Returns an edit form for custom type settings.
+ */
+function dynamic_formatters_content_content_type_edit_form($form, &$form_state) {
+  $conf = $form_state['conf'];
+  $contexts = $form_state['contexts'];
+
+  foreach($contexts as $context_id => $context) {
+    $plugin = $context->plugin;
+    $entity_type = explode(':', $plugin);
+    $entity_type = $entity_type[1];
+    $entity = entity_get_info($entity_type);
+    foreach ($entity['bundles'] as $bundle_name => $bundle) {
+      $fields = field_info_instances($entity_type, $bundle_name);
+      foreach ($fields as $field_type => $field) {
+        $field_options[$entity_type . ':' . $bundle_name . ':' . $field_type] = check_plain($bundle['label'] . ': ' . $field['label']);
+      }
+    }
+  }
+
+
+  $form['default_preset'] = array(
+    '#type' => 'select',
+    '#title' => t('Default dynamic formatter preset'),
+    '#default_value' => isset($conf['default_preset']) ? $conf['default_preset'] : '',
+    '#options' => dynamic_formatters_get_preset_options(),
+    '#description' => t('Bla bla bla bla.'),
+  );
+
+
+  $form['preset_field'] = array(
+    '#title' => t('Preset field'),
+    '#type' => 'select',
+    '#options' => $field_options,
+    '#default_value' => isset($conf['preset_field']) ? $conf['preset_field'] : '- none -',
+  );
+
+  return $form;
+}
+
+/**
+ * Submit handler for the custom type settings form.
+ */
+function dynamic_formatters_content_content_type_edit_form_submit(&$form, &$form_state) {
+  // Copy everything from our defaults.
+  foreach (array_keys($form_state['plugin']['defaults']) as $key) {
+    $form_state['conf'][$key] = $form_state['values'][$key];
+  }
+}
+
+/**
+ * Returns the administrative title for a type.
+ */
+function dynamic_formatters_content_content_type_admin_title($subtype, $conf, $context) {
+  return t('"@s" dynamic formatters content', array('@s' => $context->identifier));
+}
diff --git a/plugins/dynamic_formatters_renderer/dynamic_formatters_renderer_panels_mini.inc b/plugins/dynamic_formatters_renderer/dynamic_formatters_renderer_panels_mini.inc
index ddeaf73..5fea246 100644
--- a/plugins/dynamic_formatters_renderer/dynamic_formatters_renderer_panels_mini.inc
+++ b/plugins/dynamic_formatters_renderer/dynamic_formatters_renderer_panels_mini.inc
@@ -96,16 +96,17 @@ class dynamic_formatters_renderer_panels_mini extends dynamic_formatters_rendere
     // Find out our entity type.
     // @todo We should use the schema information to figure this out
     if (isset($plugin)) {
-      $view = $plugin->view;
-      $entity_type = $view->base_table;
-      $options = $plugin->options;
+      if (isset($plugin->view)) {
+        $view = $plugin->view;
+      }
+      $entity_type = $plugin->entity_type;
     }
     // We populate the first required context with our entity if the first
     // context matches our current entity.
     $contexts[] = ctools_context_create('entity:' . $entity_type, $entity);
-    if (isset($options) && is_array($options['preset_options']) && isset($options['preset_options']['parent'])) {
+    if (isset($plugin->options) && is_array($plugin->options['preset_options']) && isset($plugins->options['preset_options']['parent'])) {
       $i = 1;
-      foreach ($options['preset_options']['parent'] as $key => $argument) {
+      foreach ($plugin->options['preset_options']['parent'] as $key => $argument) {
         if (!empty($argument['id'])) {
           if (isset($panel->requiredcontexts[$i])) {
             $mocked_argument = $panel->requiredcontexts[$i];
@@ -127,7 +128,9 @@ class dynamic_formatters_renderer_panels_mini extends dynamic_formatters_rendere
     $panel->context = $panel->display->context = ctools_context_load_contexts($panel, FALSE, $context);
     $panel->display->owner = $panel;
     $panel->display->owner->id = $panel->name;
-    $row->additional_info = $panel->context;
+    if (isset($row)) {
+      $row->additional_info = $panel->context;
+    }
     return panels_render_display($panel->display);
   }
 }
\ No newline at end of file
diff --git a/views/plugins/dynamic_formatters_plugin_row.inc b/views/plugins/dynamic_formatters_plugin_row.inc
index 475111b..a2d59e7 100644
--- a/views/plugins/dynamic_formatters_plugin_row.inc
+++ b/views/plugins/dynamic_formatters_plugin_row.inc
@@ -125,7 +125,11 @@ class dynamic_formatters_plugin_row extends views_plugin_row {
       $renderer = $this->renderers[$preset->renderer];
     }
     if (is_object($renderer)) {
-      return $renderer->render($preset, $entity, $parent_entity == $entity ? 'parent_style' : 'children_style', $this, $row);
+      $info = new stdClass;
+      $info->entity_type = $view->base_table;
+      $info->view = $this->view;
+      $info->options = $this->options;
+      return $renderer->render($preset, $entity, $parent_entity == $entity ? 'parent_style' : 'children_style', $info, $row);
     }
     return '';
   }
