diff --git a/bean_admin_ui/bean_admin_ui.admin.inc b/bean_admin_ui/bean_admin_ui.admin.inc
index 1313ac7..8fad3c4 100644
--- a/bean_admin_ui/bean_admin_ui.admin.inc
+++ b/bean_admin_ui/bean_admin_ui.admin.inc
@@ -116,6 +116,31 @@ function bean_admin_ui_type_form($form, &$form_state, $bean_type = NULL) {
     '#disabled' => $disabled,
   );
 
+  // Add in Settings to be serialized
+  $form['settings'] = array(
+    '#tree' => TRUE,
+  );
+
+  // Blockcache options.
+  $block_cache_options = array(
+    DRUPAL_NO_CACHE => t('Do not cache'),
+    DRUPAL_CACHE_GLOBAL => t('Cache once for everything (global)'),
+    DRUPAL_CACHE_PER_PAGE => t('Per page'),
+    DRUPAL_CACHE_PER_ROLE => t('Per role'),
+    DRUPAL_CACHE_PER_ROLE | DRUPAL_CACHE_PER_PAGE => t('Per role per page'),
+    DRUPAL_CACHE_PER_USER => t('Per user'),
+    DRUPAL_CACHE_PER_USER | DRUPAL_CACHE_PER_PAGE => t('Per user per page'),
+  );
+
+  // Add in cache selsection
+  $form['settings']['cache'] = array(
+    '#title' => t('Cache Type'),
+    '#type' => 'select',
+    '#options' => $block_cache_options,
+    '#default_value' => isset($bean_type->settings['cache']) ? $bean_type->settings['cache'] : DRUPAL_CACHE_PER_ROLE,
+  );
+
+
   $form['actions'] = array('#type' => 'actions');
   $form['actions']['submit'] = array(
     '#type' => 'submit',
@@ -142,12 +167,15 @@ function bean_admin_ui_type_form($form, &$form_state, $bean_type = NULL) {
  * Form API submit callback for the type form.
  */
 function bean_admin_ui_type_form_submit(&$form, &$form_state) {
+  ctools_include('export');
+  
   $bean_type = $form_state['values']['bean_type'];
   $bean_type->type = $form_state['values']['name'];
   $bean_type->setLabel($form_state['values']['label']);
+  $bean_type->setSettings($form_state['values']['settings']);
   $bean_type->save($form_state['values']['new']);
+  
   $form_state['redirect'] = 'admin/structure/block/types';
-  ctools_include('export');
 }
 
 /**
@@ -158,7 +186,9 @@ function bean_admin_ui_type_form_submit_delete(&$form, &$form_state) {
 }
 
 /**
- * Menu callback; delete a single content type.
+ * Menu callback
+ *
+ * delete a single content type.
  */
 function bean_admin_ui_type_delete_confirm($form, &$form_state, $type) {
   $form['type'] = array('#type' => 'value', '#value' => $type);
diff --git a/bean_admin_ui/bean_admin_ui.module b/bean_admin_ui/bean_admin_ui.module
index 62e781e..15b8715 100644
--- a/bean_admin_ui/bean_admin_ui.module
+++ b/bean_admin_ui/bean_admin_ui.module
@@ -89,6 +89,7 @@ function bean_admin_ui_bean_types() {
       'label' => $bean_type->label,
       'type' => $bean_type->name,
       'export_status' => $bean_type->type,
+      'cache_level' => $bean_type->settings['cache'],
     );
 
     $plugins[$bean_type->name] += _bean_admin_default_plugin();
diff --git a/bean_admin_ui/plugins/custom.inc b/bean_admin_ui/plugins/custom.inc
index 4e336d0..ed70317 100644
--- a/bean_admin_ui/plugins/custom.inc
+++ b/bean_admin_ui/plugins/custom.inc
@@ -9,6 +9,8 @@
  * DO NOT USE THIS BEAN.  ONLY USED FOR THE UI PLUGINS
  */
 class bean_custom extends bean_plugin {
+  public $settings;
+
   /**
    * Delete the record from the database.
    */
@@ -34,6 +36,7 @@ class bean_custom extends bean_plugin {
     $bean_type = array(
       'name' => $this->type,
       'label' => $this->getLabel(),
+      'settings' => $this->settings,
     );
 
     $primary_key = $new == FALSE ? 'name' : array();
@@ -56,6 +59,14 @@ class bean_custom extends bean_plugin {
     $this->plugin_info['label'] = $label;
   }
 
+  /**
+   * Set the settings array
+   * @return array
+   */
+  public function setSettings($values) {
+    $this->settings = $values;
+  }
+
   public function values() {
     return array();
   }
