diff --git a/storm.drush.inc b/storm.drush.inc
new file mode 100644
index 0000000..9ed2ad1
--- /dev/null
+++ b/storm.drush.inc
@@ -0,0 +1,51 @@
+<?php
+
+function storm_drush_command() {
+  $items['storm-reinstall'] = array(
+    'description' => dt('Disable, Uninstall, Reinstall storm modules in the correct order, in one cmd.'),
+    'examples' => array(
+      'drush storm-reinstall' => 'Disable, Unistall, and Reinstall Storm & sub modules'
+    ),
+  'aliases' => array('stre'),
+  );
+  return $items;
+}
+
+function drush_storm_reinstall() {
+  $sub_mods = array(
+    'stormexpense',
+    'storminvoice',
+    'stormnote',
+    'stormorganization',
+    'stormperson',
+    'stormproject',
+    'stormtask',
+    'stormteam',
+    'stormticket',
+    'stormtimetracking');
+
+  $mods = array_merge(array('pm-disable'), array('storm'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-uninstall'), array('stormexpense', 'storminvoice', 'stormnote', 'stormteam', 'stormtimetracking'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-uninstall'), array('stormperson', 'stormticket'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-uninstall'), array('stormtask'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-uninstall'), array('stormproject'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-uninstall'), array('stormorganization'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-uninstall'), array('storm'));
+  call_user_func_array('drush_invoke', $mods);
+
+  $mods = array_merge(array('pm-enable'), $sub_mods);
+  call_user_func_array('drush_invoke', $mods);
+}
+
diff --git a/storm.drush.inc.bak b/storm.drush.inc.bak
new file mode 100644
index 0000000..e236dd6
--- /dev/null
+++ b/storm.drush.inc.bak
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Drush integration for the storm module.
+ */
+
+/**
+ * Implements hook_drush_command().
+ */
+function storm_drush_command() {
+  $items['storm-reinstall'] = array(
+    'description' => dt('Disable, Uninstall, Reinstall storm modules in the correct order, in one cmd.'),
+    'examples' => array(
+      'drush storm-reinstall' => 'Disable, Unistall, and Reinstall Storm & sub modules'
+    ),
+  'aliases' => array('stre'),
+  );
+  return $items;
+}
+
+/**
+ * A command callback. remove subs then core, reinstall.
+ */
+function drush_storm_reinstall(){
+  $sub_mods = array(
+    'stormexpense',
+    'storminvoice',
+    'stormnote',
+    'stormorganization',
+    'stormperson',
+    'stormproject',
+    'stormtask',
+    'stormteam',
+    'stormticket',
+    'stormtimetracking');
+
+  $args = array_merge(array('pm-disable'), $sub_mods);
+  call_user_func_array('drush_invoke', $args);
+
+  $args = array_merge(array('pm-disable'), array('storm'));
+  call_user_func_array('drush_invoke', $args);
+
+  $args = array_merge(array('pm-uninstall'), $sub_mods);
+  $args = array_merge(array('pm-uninstall'), array('storm'));
+  call_user_func_array('drush_invoke', $args);
+
+  call_user_func_array('drush_invoke', $args);
+
+  $args = array_merge(array('pm-enable'), $sub_mods);
+  call_user_func_array('drush_invoke', $args);
+
+  $args = array_merge(array('pm-enable'), array('storm'));
+  call_user_func_array('drush_invoke', $args);
+}
