diff --git uc_discounts/uc_discounts.admin.inc uc_discounts/uc_discounts.admin.inc
index f7a291f..c000c0e 100644
--- uc_discounts/uc_discounts.admin.inc
+++ uc_discounts/uc_discounts.admin.inc
@@ -11,17 +11,28 @@
  * Display a list of discounts.
  */
 function uc_discounts_admin_settings() {
+  $search_params = array(
+    'name' => arg(4),
+  );
+
   $header = array(
-    array("data" => t("Active"), "field" => "active"),
+    array("data" => t("Active"), "field" => "is_active"),
     array("data" => t("Name"), "field" => "name"),
     array("data" => t("Short Description"), "field" => "short_description"),
     array("data" => t("Qualifying Type"), "field" => "qualifying_type"),
-    array("data" => t("Discount Type"), "field" => "discount_type"),
-    array("data" => t("Weight"), "field" => "weight", "sort" => "asc"),
-    array("data" => t("Operations"), "colspan" => 4),
+    array("data" => t("Type"), "field" => "discount_type"),
+    array("data" => t("Amount"), "field" => "discount_amount"),
+    array("data" => t("Weight"), "field" => "weight"),
+    array("data" => t("Created At"), "field" => "insert_timestamp", "sort" => "desc"),
+    array("data" => t("Expires At"), "field" => "expiration"),
+    array("data" => t("Operations")),
   );
 
   $query     = "SELECT * FROM {uc_discounts}";
+  if (!empty($search_params['name'])) {
+    $name = db_escape_string($search_params['name'] . '%');
+    $query .= " WHERE name LIKE '$name' OR description LIKE '$name' OR short_description LIKE '$name'";
+  }
   $tablesort = tablesort_sql($header);
   $result    = pager_query($query . $tablesort, 50);
 
@@ -29,30 +40,35 @@ function uc_discounts_admin_settings() {
   while ($discount = db_fetch_object($result)) {
     $total_use_count = (is_numeric($discount->total_use_count)) ? $discount->total_use_count : 0;
     $total_times_applied = (is_numeric($discount->total_times_applied)) ? $discount->total_times_applied : 0;
+    $operations = array(
+      l(t("usage"), "admin/reports/uc_discounts/discount/". $discount->discount_id),
+      l(t("edit"), "admin/store/settings/uc_discounts/edit/". $discount->discount_id),
+      l(t("copy"), "admin/store/settings/uc_discounts/copy/". $discount->discount_id),
+      l(t("delete"), "admin/store/settings/uc_discounts/delete/". $discount->discount_id),
+    );
 
     $rows[] = array("data" =>
       //Cell data
       array(
-        $discount->is_active,
+        array('data' => ($discount->is_active ? '<span class="active">&#10003;</span>' : '<span class="inactive">X</span>'), 'class' => 'is_active'),
         $discount->name,
         $discount->short_description,
         qualifying_type_name($discount->qualifying_type),
         discount_type_name($discount->discount_type),
-        $discount->weight,
-        l(t("view usage"), "admin/reports/uc_discounts/discount/". $discount->discount_id),
-        l(t("edit"), "admin/store/settings/uc_discounts/edit/". $discount->discount_id),
-        l(t("copy"), "admin/store/settings/uc_discounts/copy/". $discount->discount_id),
-        l(t("delete"), "admin/store/settings/uc_discounts/delete/". $discount->discount_id),
+        array('data' => discount_amount_formatted($discount), 'class' => 'amount'),
+        array('data' => $discount->weight, 'class' => 'weight'),
+        array('data' => format_date($discount->insert_timestamp, 'small'), 'class' => 'date'),
+        array('data' => ($discount->has_expiration ? format_date($discount->expiration, 'small') : 'N/A'), 'class' => 'date'),
+        array('data' => implode(' ', $operations), 'class' => 'operations'),
       ),
     );
   }
 
   if (empty($rows)) {
-
-    $rows[] = array(array("data" => t("No discounts."), "colspan" => 9));
-
+    $rows[] = array(array("data" => t("No discounts."), "colspan" => count($header)));
   }
 
+  $output = drupal_get_form('uc_discounts_search_form', $search_params);
   $output .= theme("table", $header, $rows, array("id" => "uc_discounts_table"));
   $output .= theme("pager", NULL, 50, 0);
 
@@ -63,6 +79,40 @@ function uc_discounts_admin_settings() {
 }
 
 /**
+ * Create a form for searching the discounts
+ */
+function uc_discounts_search_form(&$form_state, $values) {
+  $form = array();
+
+  $form['search'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Search discounts'),
+    '#collapsible' => TRUE,
+    '#collapsed' => empty($values['name']),
+  );
+
+  $form['search']['name'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Description/Name'),
+    '#default_value' => $values['name'],
+  );
+
+  $form['search']['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Search'),
+  );
+
+  return $form;
+}
+
+function uc_discounts_search_form_submit($form, &$form_state) {
+  $args = array(
+    $form_state['values']['name'],
+  );
+  $form_state['redirect'] = array('admin/store/settings/uc_discounts/'. implode('/', $args));
+}
+
+/**
  * Create or edit a discount.
  *
  * @ingroup forms
diff --git uc_discounts/uc_discounts.css uc_discounts/uc_discounts.css
index d770234..b8420bb 100644
--- uc_discounts/uc_discounts.css
+++ uc_discounts/uc_discounts.css
@@ -1,17 +1,43 @@
 .uc-discounts-cart-pane-container {
-	border-left: 1px solid #BBBBBB;
-	border-right: 1px solid #BBBBBB;
-	border-bottom: 1px solid #BBBBBB;
-	text-align: right;
-	width: 100%;
+  border-left: 1px solid #BBBBBB;
+  border-right: 1px solid #BBBBBB;
+  border-bottom: 1px solid #BBBBBB;
+  text-align: right;
+  width: 100%;
 }
 
 .uc-discounts-cart-pane-table {
-	text-align: right;
-	width: 100%;
+  text-align: right;
+  width: 100%;
 }
 
 .uc-discounts-cart-pane-table-cell {
-	width: 100%;
+  width: 100%;
 }
 
+#uc_discounts_table td.date,
+#uc_discounts_table td.operations {
+  white-space: nowrap;
+}
+
+#uc_discounts_table td.operations a {
+  padding-right: 5px;
+}
+
+#uc_discounts_table td.amount,
+#uc_discounts_table td.weight {
+  text-align: center;
+}
+
+#uc_discounts_table td.is_active {
+  text-align: center;
+  font-weight: bold;
+}
+
+#uc_discounts_table td.is_active .active {
+  color: green;
+}
+
+#uc_discounts_table td.is_active .inactive {
+  color: red;
+}
diff --git uc_discounts/uc_discounts.module uc_discounts/uc_discounts.module
index 2030801..072b4e5 100644
--- uc_discounts/uc_discounts.module
+++ uc_discounts/uc_discounts.module
@@ -1826,6 +1826,18 @@ function discount_type_name($discount_type) {
   return $options[$discount_type];
 }
 
+function discount_amount_formatted($discount) {
+  if (in_array($discount->discount_type, array(DISCOUNT_TYPE_PERCENTAGE_OFF, DISCOUNT_TYPE_PERCENTAGE_OFF_PER_QUALIFYING_ITEM))) {
+    return ($discount->discount_amount * 100) . '%';
+  }
+  elseif (in_array($discount->discount_type, array(DISCOUNT_TYPE_FIXED_AMOUNT_OFF, DISCOUNT_TYPE_FIXED_AMOUNT_OFF_PER_QUALIFYING_ITEM))) {
+    return uc_currency_format($discount->discount_amount);
+  }
+  else {
+    return $discount->discount_amount;
+  }
+}
+
 function uc_discounts_add_to_existing_map_number_value(&$a, $key, $value) {
   $a[$key] = (array_key_exists($key, $a)) ? $a[$key] + $value : $value;
 }
