diff --git a/progress.install b/progress.install
index 9102b01..a56d895 100644
--- a/progress.install
+++ b/progress.install
@@ -29,21 +29,21 @@ function progress_schema() {
         'type' => 'text',
         'not null' => TRUE,
       ),
-      'start' => array(
+      'start_stamp' => array(
         'description' => 'Start time in unix timestamp',
         'type' => 'float',
         'size' => 'big',
         'not null' => TRUE,
         'default' => 0,
       ),
-      'end' => array(
+      'end_stamp' => array(
         'description' => 'End time in unix timestamp',
         'type' => 'float',
         'size' => 'big',
         'not null' => TRUE,
         'default' => 0,
       ),
-      'current' => array(
+      'current_stamp' => array(
         'description' => 'Current time in unix timestamp',
         'type' => 'float',
         'size' => 'big',
@@ -55,3 +55,43 @@ function progress_schema() {
 
   return $schema;
 }
+
+
+/**
+ * Implements hook_update_dependencies().
+ */
+function progress_update_dependencies() {
+  $dependencies = array();
+  $dependencies['progress'][7101] = array(
+    'background_process' => 7106,
+  );
+  return $dependencies;
+}
+
+/**
+ * Change schema to SQL 99 compliance.
+ */
+function progress_update_7101() {
+  db_change_field('progress', 'start', 'start_stamp', array(
+    'description' => 'Start time in unix timestamp',
+    'type' => 'float',
+    'size' => 'big',
+    'not null' => TRUE,
+    'default' => 0
+  ));
+  db_change_field('progress', 'end', 'end_stamp', array(
+    'description' => 'End time in unix timestamp',
+    'type' => 'float',
+    'size' => 'big',
+    'not null' => TRUE,
+    'default' => 0
+  ));
+  db_change_field('progress', 'current', 'current_stamp', array(
+    'description' => 'Current time in unix timestamp',
+    'type' => 'float',
+    'size' => 'big',
+    'not null' => TRUE,
+    'default' => 0
+  ));
+}
+
diff --git a/progress.module b/progress.module
index 7d8247c..0def056 100755
--- a/progress.module
+++ b/progress.module
@@ -27,8 +27,8 @@ function progress_initialize_progress($name, $message) {
       'name' => $name,
       'progress' => 0,
       'message' => $message,
-      'start' => $current,
-      'current' => $current,
+      'start_stamp' => $current,
+      'current_stamp' => $current,
     ))
     ->execute();
   return progress_set_progress($name, $message, 0);
@@ -52,7 +52,24 @@ function progress_set_progress($name, $message, $progress) {
     ->fields(array(
       'progress' => $progress,
       'message' => $message,
-      'current' => $current,
+      'current_stamp' => $current,
+    ))
+    ->condition('name', $name)
+    ->execute();
+}
+
+/**
+ * Set progress start time
+ *
+ * @param string $name
+ *   Name of progress
+ * @param float $start
+ *   Start time of progress
+ */
+function progress_set_progress_start($name, $start) {
+  return db_update('progress')
+    ->fields(array(
+      'start_stamp' => $start,
     ))
     ->condition('name', $name)
     ->execute();
@@ -94,7 +111,13 @@ function progress_set_intervalled_progress($name, $message, $progress, $interval
  *   Object containing all the progress data
  */
 function progress_get_progress($name) {
-  return db_query("SELECT name, progress, message, start, end, current FROM {progress} WHERE name = :name", array(':name' => $name))->fetchObject();
+  $result = db_query("SELECT name, progress, message, start_stamp, end_stamp, current_stamp FROM {progress} WHERE name = :name", array(':name' => $name))->fetchObject();
+  if ($result) {
+    $result->start = $result->start_stamp;
+    $result->end = $result->end_stamp;
+    $result->current = $result->current_stamp;
+  }
+  return $result;
 }
 
 /**
@@ -113,7 +136,7 @@ function progress_end_progress($name, $message) {
     ->fields(array(
       'progress' => 1,
       'message' => $message,
-      'end' => $current,
+      'end_stamp' => $current,
     ))
     ->condition('name', $name)
     ->execute();
@@ -141,11 +164,14 @@ function progress_remove_progress($name) {
  */
 function progress_get_progresses() {
   $result = db_select('progress', 'p')
-    ->fields('p', array('name', 'progress', 'message', 'start', 'end', 'current'))
+    ->fields('p', array('name', 'progress', 'message', 'start_stamp', 'end_stamp', 'current_stamp'))
     ->execute();
 
   $progresses = array();
   foreach ($result as $progress) {
+    $progress->start = $progress->start_stamp;
+    $progress->end = $progress->end_stamp;
+    $progress->current = $progress->current_stamp;
     $progresses[$progress->name] = $progress;
   }
   return $progresses;
@@ -176,8 +202,8 @@ function progress_estimate_completion($progress) {
  */
 function progress_cron() {
   return db_delete('progress')
-    ->condition('end', 0, '>')
-    ->condition('end', time() - variable_get('progress_age', PROGRESS_AGE), '<')
+    ->condition('end_stamp', 0, '>')
+    ->condition('end_stamp', time() - variable_get('progress_age', PROGRESS_AGE), '<')
     ->execute();
 }
 
