diff --git a/commerce_price_table.module b/commerce_price_table.module
index 72abc15..bf67e9c 100644
--- a/commerce_price_table.module
+++ b/commerce_price_table.module
@@ -53,6 +53,8 @@ function commerce_price_table_field_formatter_info() {
         'price_label' => t('Price'),
         'quantity_label' => t('Quantity'),
         'table_orientation' => t('Orientation'),
+        'compact_table' => 0,
+        'hide_headers' => 0,
       ),
     ),
   );
@@ -295,6 +297,16 @@ function commerce_price_table_field_formatter_settings_form($field, $instance, $
       '#title' => t('Orientation of the price table'),
       '#default_value' => isset($settings['table_orientation']) ? $settings['table_orientation'] : COMMERCE_PRICE_TABLE_HORIZONTAL,
     );
+    $element['compact_table'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Compact price table'),
+      '#default_value' => isset($settings['compact_table']) ? $settings['compact_table'] : 0,
+    );
+    $element['hide_headers'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Hide table headers'),
+      '#default_value' => isset($settings['hide_headers']) ? $settings['hide_headers'] : 0,
+    );
   }
 
   return $element;
@@ -315,6 +327,8 @@ function commerce_price_table_field_formatter_settings_summary($field, $instance
       t('Quantity label: !quantity_label', array('!quantity_label' => isset($settings['quantity_label']) ? $settings['quantity_label'] : t('Quantity'))),
       t('Price label: !price_label', array('!price_label' => isset($settings['price_label']) ? $settings['price_label'] : t('Price'))),
       t('Orientation: !orientation', array('!orientation' => $orientation)),
+      t('Compact table: !compact', array('!compact' => $settings['compact_table'] ? t('On') : t('Off'))),
+      t('Hide table headers: !header', array('!header' => $settings['hide_headers'] ? t('On') : t('Off'))),
     );
   }
 
@@ -383,12 +397,12 @@ function commerce_price_table_field_formatter_view($entity_type, $entity, $field
   $element = array();
 
   if ($display['type'] == 'commerce_multiprice_default' && !empty($items)) {
-    $header = array(isset($display['settings']['quantity_label']) ? $display['settings']['quantity_label'] : t('Quantity'));
-    $row = array(isset($display['settings']['price_label']) ? $display['settings']['price_label'] : t('Price'));
+    $header = $display['settings']['hide_headers'] ? array() : array(isset($display['settings']['quantity_label']) ? $display['settings']['quantity_label'] : t('Quantity'));
+    $row = $display['settings']['hide_headers'] ? array() : array(isset($display['settings']['price_label']) ? $display['settings']['price_label'] : t('Price'));
     if ($entity_type == 'commerce_product') {
       foreach ($items as $delta => $item) {
         if (isset($item['min_qty']) && $item['max_qty'] && $item['amount']) {
-          $header[] = commerce_price_table_display_quantity_headers($item);
+          $header[] = $display['settings']['compact_table'] ? commerce_price_table_display_compact_quantity_headers($item) : commerce_price_table_display_quantity_headers($item);
 
           $line_item = commerce_product_line_item_new($entity, $item['min_qty']);
           $line_item_wrapper = entity_metadata_wrapper('commerce_line_item', $line_item);
@@ -418,10 +432,10 @@ function commerce_price_table_field_formatter_view($entity_type, $entity, $field
       }
     }
     else {
-      // Not a product. We're dealing with exotic stuff here.
+      // Not a product. We're dealing with exotic stuf here.
       foreach ($items as $delta => $item) {
         if (isset($item['min_qty']) && $item['max_qty'] && $item['amount']) {
-          $header[] = commerce_price_table_display_quantity_headers($item);
+          $header[] = $display['settings']['compact_table'] ? commerce_price_table_display_compact_quantity_headers($item) : commerce_price_table_display_quantity_headers($item);
           $row[] = array('data' => commerce_currency_format($item['amount'], $item['currency_code'], $entity));
         }
       }
@@ -433,8 +447,9 @@ function commerce_price_table_field_formatter_view($entity_type, $entity, $field
       $rows = array();
       $header_old = $header;
 
-      $header = array($header_old[0], $row[0]);
-      for ($index = 1; $index < count($row); $index++) {
+      $header = $display['settings']['hide_headers'] ?  : array($header_old[0], $row[0]);
+      $index = $display['settings']['hide_headers'] ? 0 : 1;
+      for ($index; $index < count($row); $index++) {
         $rows[] = array('data' => array($header_old[$index], $row[$index]['data']));
       }
     }
@@ -443,7 +458,7 @@ function commerce_price_table_field_formatter_view($entity_type, $entity, $field
     }
 
     $element[] = array(
-      '#markup' => theme('table', array('header' => $header, 'rows' => $rows)),
+      '#markup' => theme('table', array('header' => $header, 'rows' => $rows))
     );
   }
 
@@ -566,3 +581,25 @@ function commerce_price_table_display_quantity_headers($item) {
   }
   return $quantity_text;
 }
+
+/**
+ * Helper function that takes care of the compact quantity displayed in the headers of 
+ * the price table.
+ */
+function commerce_price_table_display_compact_quantity_headers($item) {
+  // If min qtys is 1.
+  if ($item['min_qty'] == 1) {
+    $quantity_text = '<=' . $item['max_qty'];
+  }// Set the quantity text to unlimited if it's -1.
+  else if ($item['max_qty'] == -1) {
+    $quantity_text = '+' . ($item['min_qty'] - 1);
+  }// If max and min qtys are the same, only show one.
+  else if ($item['min_qty'] == $max_qty) {
+    $quantity_text = $item['min_qty'];
+  }
+  else {
+    $quantity_text = '+' . ($item['min_qty'] - 1);
+  }  
+
+  return $quantity_text;
+}
\ No newline at end of file
