diff --git a/styleguide.css b/styleguide.css
index 1848e3b..716bd72 100644
--- a/styleguide.css
+++ b/styleguide.css
@@ -24,9 +24,6 @@ div.styleguide {
 
 /* LTR */
 #styleguide-header .item-list {
-  float: left;
-  margin: 0 2em 1em 0;
-  width: 20%;
   font-family: helvetica, arial, sans-serif;
 }
 
diff --git a/styleguide.module b/styleguide.module
index 3ba96cf..87561e6 100644
--- a/styleguide.module
+++ b/styleguide.module
@@ -26,6 +26,19 @@ 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;
 }
@@ -89,7 +102,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');
 
@@ -100,6 +113,11 @@ function styleguide_page($theme = NULL) {
     $theme = variable_get('theme_default', 'bartik');
   }
 
+  // Check the group.
+  if (is_null($group)) {
+    $group = t('Common');
+  }
+
   // Get theme data.
   $themes = list_themes();
   $active = $themes[$theme];
@@ -112,26 +130,15 @@ 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();
+
+  // Only display the active group.
+  $groups[$group] = $data[$group];
   // Create a navigation header.
   $header = array();
   $head = '';
@@ -190,6 +197,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 fdc83da..727d945 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">';
   $output .= $variables['items'];
-  $output .= '<div class="break"><br /></div>';
   $output .= '</div>';
   return $output;
 }
