diff --git a/styleguide.css b/styleguide.css
index 3e62a2b..3d6bc6a 100644
--- a/styleguide.css
+++ b/styleguide.css
@@ -16,9 +16,6 @@ h2.styleguide {
 
 /* LTR */
 #styleguide-header .item-list {
-  float: left;
-  margin: 0 2em 1em 0;
-  width: 20%;
 }
 
 #styleguide-header h3 {
diff --git a/styleguide.module b/styleguide.module
index b53d04d..2a32ba6 100644
--- a/styleguide.module
+++ b/styleguide.module
@@ -26,7 +26,21 @@ function styleguide_menu() {
       'theme callback' => '_styleguide_page_theme',
       'theme arguments' => array($theme->name),
     );
+    foreach (styleguide_groups() as $group => $data) {
+      $items['admin/appearance/styleguide/' . $theme->name . '/'. $group] = array(
+        'title' => $group,
+        'page callback' => 'styleguide_page',
+        'page arguments' => array($theme->name, $group),
+        'type' => ($group == t('Common')) ? MENU_DEFAULT_LOCAL_TASK : MENU_LOCAL_TASK,
+        'access callback' => 'styleguide_access_check',
+        'access arguments' => array($theme),
+        'weight' => ($group == t('Common')) ? -10 : 0,
+        'theme callback' => '_styleguide_page_theme',
+        'theme arguments' => array($theme->name),
+      );
+    }
   }
+  
   return $items;
 }
 
@@ -101,7 +115,7 @@ function styleguide_access_check($theme) {
 /**
  * The styleguide page.
  */
-function styleguide_page($theme = NULL) {
+function styleguide_page($theme = NULL, $group = NULL) {
   // Get the path to the module for loading includes.
   $path = drupal_get_path('module', 'styleguide');
 
@@ -111,6 +125,11 @@ function styleguide_page($theme = NULL) {
   if (is_null($theme)) {
     $theme = variable_get('theme_default', 'bartik');
   }
+  
+  // Check the group.
+  if (is_null($group)) {
+    $group = t('Common');
+  }
 
   // Get theme data.
   $themes = list_themes();
@@ -124,26 +143,17 @@ function styleguide_page($theme = NULL) {
     }
   }
 
-  // Get visual testing elements.
-  $items = module_invoke_all('styleguide');
-  drupal_alter('styleguide', $items);
-
   // Get theme style information.
   $theme_info = $active->info;
   drupal_alter('styleguide_theme_info', $theme_info, $theme);
 
-  $groups = array();
-  foreach ($items as $key => $item) {
-    if (!isset($item['group'])) {
-      $item['group'] = t('Common');
-    }
-    else {
-      $item['group'] = t('@group', array('@group' => $item['group']));
-    }
-    $item['title'] = t('@title', array('@title' => $item['title']));
-    $groups[$item['group']][$key] = $item;
-  }
-  ksort($groups);
+  // Get presentation groups.
+  $data = styleguide_groups();
+  dpm($data);
+
+  // Only display the active group.
+  $groups[$group] = $data[$group];
+
   // Create a navigation header.
   $header = array();
   $head = '';
@@ -202,6 +212,28 @@ function styleguide_hook_info() {
   return $hooks;
 }
 
+ /**
+ * Return a list of all items, sorted by active group.
+ */
+function styleguide_groups() {
+  // Get visual testing elements.
+  $items = module_invoke_all('styleguide');
+  drupal_alter('styleguide', $items);
+  $groups = array();
+  foreach ($items as $key => $item) {
+    if (!isset($item['group'])) {
+      $item['group'] = t('Common');
+    }
+    else {
+      $item['group'] = t('@group', array('@group' => $item['group']));
+    }
+    $item['title'] = t('@title', array('@title' => $item['title']));
+    $groups[$item['group']][$key] = $item;
+  }
+  ksort($groups);
+  return $groups;
+}
+
 /**
  * Return a simple array of words.
  *
diff --git a/styleguide.theme.inc b/styleguide.theme.inc
index 622365a..d04c13b 100644
--- a/styleguide.theme.inc
+++ b/styleguide.theme.inc
@@ -70,7 +70,6 @@ function theme_styleguide_links($variables) {
   // Close the header.
   $output = '<div id="styleguide-header" class="styleguide">';
   $output .= $variables['items'];
-  $output .= '<div class="break"><br /></div>';
   $output .= '</div>';
   return $output;
 }
