diff --git a/background_batch/background_batch.install b/background_batch/background_batch.install
new file mode 100644
index 0000000..b946b48
--- /dev/null
+++ b/background_batch/background_batch.install
@@ -0,0 +1,15 @@
+<?php
+/**
+ * @file
+ * This is the installation file for the Background Batch submodule
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function background_batch_uninstall() {
+  // Removing used variables.
+  variable_del('background_batch_delay');
+  variable_del('background_batch_process_lifespan');
+  variable_del('background_batch_show_eta');
+}
diff --git a/background_batch/background_batch.module b/background_batch/background_batch.module
index 5c07e45..903b2ea 100755
--- a/background_batch/background_batch.module
+++ b/background_batch/background_batch.module
@@ -17,6 +17,11 @@ define('BACKGROUND_BATCH_DELAY', 1000000);
 define('BACKGROUND_BATCH_PROCESS_LIFESPAN', 10000);
 
 /**
+ * Default value wether ETA information should be shown.
+ */
+define('BACKGROUND_BATCH_PROCESS_ETA', TRUE);
+
+/**
  * Implements hook_menu().
  */
 function background_batch_menu() {
@@ -139,7 +144,7 @@ function _background_batch_process($id = NULL) {
   $token = drupal_get_token($id);
 
   // Retrieve the current state of batch from db.
-  $data = db_query("SELECT batch FROM {batch} WHERE bid = :bid AND token = :token", 
+  $data = db_query("SELECT batch FROM {batch} WHERE bid = :bid AND token = :token",
             array(':bid' => $id, ':token' => $token)
           )->fetchColumn();
   if (!$data) {
diff --git a/background_batch/background_batch.pages.inc b/background_batch/background_batch.pages.inc
index a47f49d..8b177b8 100755
--- a/background_batch/background_batch.pages.inc
+++ b/background_batch/background_batch.pages.inc
@@ -26,6 +26,12 @@ function background_batch_settings_form() {
     '#title' => 'Process lifespan',
     '#description' => t('Time in miliseconds for progress lifespan'),
   );
+  $form['background_batch_show_eta'] = array(
+    '#type' => 'checkbox',
+    '#default_value' => variable_get('background_batch_show_eta', BACKGROUND_BATCH_PROCESS_ETA),
+    '#title' => 'Show ETA of batch process',
+    '#description' => t('Wether ETA (estimated time of arrival) information should be shown'),
+  );
   return system_settings_form($form);
 }
 
@@ -54,7 +60,7 @@ ORDER BY b.bid
   }
   $header = array('Batch ID', 'Progress', 'Message', 'Started', 'Finished/ETA');
   return theme('table', array(
-    'header' => $header, 
+    'header' => $header,
     'rows' => $data
   ));
 }
@@ -70,7 +76,7 @@ function background_batch_page() {
 
   // Retrieve the current state of batch from db.
   $token = drupal_get_token($id);
-  $data = db_query("SELECT batch FROM {batch} WHERE bid = :bid AND token = :token", 
+  $data = db_query("SELECT batch FROM {batch} WHERE bid = :bid AND token = :token",
             array(':bid' => $id, ':token' => $token)
           )->fetchColumn();
   if (!$data) {
@@ -154,14 +160,18 @@ function _background_batch_page_progress_js() {
   // batch_set() or hook_batch_alter().
   $batch['url_options']['query']['id'] = $batch['id'];
 
-  $js_setting = array(
-    'batch' => array(
-      'errorMessage' => $current_set['error_message'] . '<br />' . $batch['error_message'],
-      'initMessage' => 'ETA: ' . t('N/A') . '<br/>' . $current_set['init_message'],
-      'uri' => url($batch['url'], $batch['url_options']),
-      'delay' => variable_get('background_batch_delay', BACKGROUND_BATCH_DELAY),
-    ),
-  );
+  $js_setting['batch'] = array();
+  $js_setting['batch']['errorMessage'] =  $current_set['error_message'] . '<br />' . $batch['error_message'];
+  // Check wether ETA information should be shown.
+  if (variable_get('background_batch_show_eta', BACKGROUND_BATCH_PROCESS_ETA)) {
+    $js_setting['batch']['initMessage'] = 'ETA: ' . t('N/A') . '<br/>' . $current_set['init_message'];
+  }
+  else {
+    $js_setting['batch']['initMessage'] = $current_set['init_message'];
+  }
+  $js_setting['batch']['uri'] = url($batch['url'], $batch['url_options']);
+  $js_setting['batch']['delay'] = variable_get('background_batch_delay', BACKGROUND_BATCH_DELAY);
+
   drupal_add_js($js_setting, 'setting');
   drupal_add_library('background_batch', 'background-process.batch');
 
@@ -190,7 +200,13 @@ function _background_batch_page_do_js() {
     $percentage = $progress->progress * 100;
     $message = $progress->message;
     progress_estimate_completion($progress);
-    $message = "ETA: " . ($progress->estimate ? format_date((int)$progress->estimate, 'large') : t('N/A')) . "<br/>$message";
+    // Check wether ETA information should be shown.
+    if (variable_get('background_batch_show_eta', BACKGROUND_BATCH_PROCESS_ETA)) {
+      $message = "ETA: " . ($progress->estimate ? format_date((int)$progress->estimate, 'large') : t('N/A')) . "<br/>$message";
+    }
+    else {
+      $js_setting['batch']['initMessage'] = $message;
+    }
   }
   else {
     $percentage = t('N/A');
@@ -236,7 +252,13 @@ function _background_batch_page_do_nojs() {
     $percentage = $progress->progress * 100;
     $message = $progress->message;
     progress_estimate_completion($progress);
-    $message = "ETA: " . ($progress->estimate ? format_date((int)$progress->estimate, 'large') : t('N/A')) . "<br/>$message";
+    // Check wether ETA information should be shown.
+    if (variable_get('background_batch_show_eta', BACKGROUND_BATCH_PROCESS_ETA)) {
+      $message = "ETA: " . ($progress->estimate ? format_date((int)$progress->estimate, 'large') : t('N/A')) . "<br/>$message";
+    }
+    else {
+      $js_setting['batch']['initMessage'] = $message;
+    }
   }
   else {
     $percentage = t('N/A');
diff --git a/background_process.admin.inc b/background_process.admin.inc
index 8af7fb9..b9de6ae 100755
--- a/background_process.admin.inc
+++ b/background_process.admin.inc
@@ -53,7 +53,7 @@ function background_process_settings_form() {
     '#options' => $options,
     '#default_value' => variable_get('background_process_default_service_host', 0),
   );
-  
+
   return system_settings_form($form);
 }
 
@@ -82,8 +82,8 @@ function background_process_overview_page() {
   $header = array('Handle', 'Callback', 'User', 'Host', 'Start time', 'Progress', '');
   $output = '';
   $output .= theme('table', array(
-    'header' => $header, 
-    'rows' => $data, 
+    'header' => $header,
+    'rows' => $data,
     'class' => 'background-process-overview'
   ));
   return $output;
@@ -92,7 +92,7 @@ function background_process_overview_page() {
 /**
  * Unlock background process.
  *
- * @param $handle 
+ * @param $handle
  *   Handle of process to unlock
  */
 function background_process_service_unlock($handle) {
diff --git a/background_process.install b/background_process.install
index 860856c..75c8ca9 100644
--- a/background_process.install
+++ b/background_process.install
@@ -5,7 +5,7 @@
  */
 
 /**
- * Implementation of hook_enable().
+ * Implements of hook_enable().
  */
 function background_process_enable() {
   $host = background_process_determine_default_service_host();
@@ -18,7 +18,7 @@ function background_process_enable() {
 }
 
 /**
- * Implementation of hook_schema().
+ * Implements of hook_schema().
  */
 function background_process_schema() {
   $schema = array();
@@ -98,3 +98,16 @@ function background_process_update_7101() {
   }
 }
 
+/**
+ * Implements hook_uninstall().
+ */
+function background_batch_uninstall() {
+  // Removing process variables.
+  variable_del('background_process_service_timeout');
+  variable_del('background_process_connection_timeout');
+  variable_del('background_process_stream_timeout');
+  variable_del('background_process_service_groups');
+  variable_del('background_process_default_service_group');
+  variable_del('background_process_service_hosts');
+  variable_del('background_process_default_service_host');
+}
diff --git a/background_process.module b/background_process.module
index bd3853f..075fd00 100755
--- a/background_process.module
+++ b/background_process.module
@@ -33,7 +33,7 @@ define('BACKGROUND_PROCESS_STATUS_RUNNING', 2);
 // ---------- HOOKS ----------
 
 /**
- * Implementation of hook_menu().
+ * Implements hook_menu().
  */
 function background_process_menu() {
   $items = array();
@@ -90,7 +90,7 @@ function background_process_menu() {
 }
 
 /**
- * Implements hook_perm()
+ * Implements hook_permission().
  */
 function background_process_permission() {
   return array(
@@ -102,7 +102,7 @@ function background_process_permission() {
 }
 
 /**
- * Implementation of hook_cron().
+ * Implements hook_cron().
  */
 function background_process_cron() {
   // Cleanup old handles
@@ -119,7 +119,7 @@ function background_process_cron() {
 }
 
 /**
- * Implementation of hook_cronapi().
+ * Implements hook_cronapi().
  */
 function background_process_cronapi($op, $job = NULL) {
   switch ($op) {
@@ -131,7 +131,7 @@ function background_process_cronapi($op, $job = NULL) {
 }
 
 /**
- * Implementation of hook_service_group().
+ * Implements hook_service_group().
  *
  * Default load balancing using random.
  */
@@ -174,10 +174,10 @@ function background_process_service_access($handle, $token) {
     ))
     ->condition('handle', $handle)
     ->execute();
-  
+
   // Make sure the process is removed when we're done
   register_shutdown_function('background_process_remove_process', $process->handle, $start);
-  
+
   if ($token !== $process->token) {
     watchdog('bg_process', 'Invalid token: %token for handle: %handle', array('%token' => $token, '%handle' => $handle));
     return FALSE;
@@ -263,10 +263,10 @@ function background_process_generate_handle($callback) {
  *
  * Calls the service handler through http passing function arguments as serialized data
  * Be aware that the callback will run in a new request
- * 
+ *
  * @global string $base_url
  *   Base URL for this Drupal request
- * 
+ *
  * @param $callback
  *   Function to call
  * @param $var [, $... ]]
@@ -287,10 +287,10 @@ function background_process_start($callback /* [, $var [, $... ]] */) {
  *
  * Calls the service handler through http passing function arguments as serialized data
  * Be aware that the callback will run in a new request
- * 
+ *
  * @global string $base_url
  *   Base URL for this Drupal request
- * 
+ *
  * @param $handle
  *   Handle to give background process
  * @param $callback
@@ -313,10 +313,10 @@ function background_process_start_locked($handle, $callback /* [, $var [, $... ]
  *
  * Queue the function call passing function arguments as serialized data
  * Be aware that the callback will run in a new request
- * 
+ *
  * @global string $base_url
  *   Base URL for this Drupal request
- * 
+ *
  * @param $callback
  *   Function to call
  * @param $var [, $... ]]
@@ -336,10 +336,10 @@ function background_process_queue($callback /* [, $var [, $... ]] */) {
  *
  * Queue the function call passing function arguments as serialized data
  * Be aware that the callback will run in a new request
- * 
+ *
  * @global string $base_url
  *   Base URL for this Drupal request
- * 
+ *
  * @param $handle
  *   Handle to give background process
  * @param $callback
@@ -359,7 +359,7 @@ function background_process_queue_locked($handle, $callback /* [, $var [, $... ]
 /**
  * Call the function requested by the service call
  *
- * @param $callback 
+ * @param $callback
  *   Function to call
  *
  */
@@ -376,7 +376,7 @@ function background_process_service_start($handle, $return = FALSE) {
   if (!$process) {
     watchdog('bg_process', 'Process not found for handle: %handle', array('%handle' => $handle), WATCHDOG_ERROR);
   }
-  
+
   if (is_callable($process->callback)) {
     try {
       register_shutdown_function('module_invoke_all', 'background_process_shutdown', $process);
@@ -405,7 +405,7 @@ function background_process_service_start($handle, $return = FALSE) {
 
 /**
  * Restart the current background process
- * 
+ *
  * @return
  *   Exception on fail, otherwise exit
  */
@@ -475,7 +475,7 @@ function background_process_set_process($handle, $callback, $uid, $args, $token)
   // Setup parameters
   $args = serialize($args);
   $callback = serialize($callback);
-  
+
   // Get user
   if (!isset($uid)) {
     global $user;
@@ -495,6 +495,7 @@ function background_process_set_process($handle, $callback, $uid, $args, $token)
 
 /**
  * Lock process
+ *
  * @param $handle
  *   Handle of background process
  * @return boolean
@@ -514,11 +515,11 @@ function background_process_lock_process($handle) {
   }
   catch (Exception $e) {
     return FALSE;
-  }  
+  }
 }
 
 /**
- * Get background process 
+ * Get background process
  *
  * @param $handle
  *   Handle of background process
@@ -540,7 +541,7 @@ function background_process_get_process($handle) {
 }
 
 /**
- * Get background process 
+ * Get background process
  *
  * @param $handle
  *   Handle of background process
@@ -604,8 +605,8 @@ function background_process_unlock($handle, $msg = NULL) {
 }
 
 /**
- * Perform an http request
- * @see drupal_http_request().
+ * Perform an http request.
+ * @see drupal_http_request()
  */
 function background_process_http_request($url, $headers = array(), $method = 'GET') {
   // Get URL components
@@ -842,7 +843,7 @@ function _background_process_request_headers() {
  *
  * @param $headers
  *   Headers to filter
- * @return array 
+ * @return array
  *   Filtered headers
  */
 function _background_process_filter_headers($headers) {
diff --git a/background_process.pages.inc b/background_process.pages.inc
index ba88eea..d7f2340 100644
--- a/background_process.pages.inc
+++ b/background_process.pages.inc
@@ -1,6 +1,11 @@
 <?php
 
 /**
+ * @file
+ * @TODO is this file neccessary?
+ */
+
+/**
  * Callback for token validation.
  */
 function background_process_check_token() {
