diff --git a/run_tests.sh b/run_tests.sh
index e121133..5ff837e 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -1,94 +1,41 @@
 #!/bin/bash
 
 function usage {
-  echo "Usage: $0 [OPTION]..."
-  echo "Run the Kong test suite(s)"
+  echo "Usage: [OPTIONS] [SUITES]"
+  echo "Run all of the test suites"
   echo ""
-  echo "  -V, --virtual-env        Always use virtualenv.  Install automatically if not present"
-  echo "  -N, --no-virtual-env     Don't use virtualenv.  Run tests in local environment"
-  echo "  -f, --force              Force a clean re-build of the virtual environment. Useful when dependencies have been added."
-  echo "  -p, --pep8               Just run pep8"
-  echo "  --nova		   Run all tests tagged as \"nova\"."
-  echo "  --swift		   Run all tests tagged as \"swift\"."
-  echo "  --glance		   Run all tests tagged as \"glance\"."
   echo "  -h, --help               Print this usage message"
   echo ""
-  echo "Note: with no options specified, the script will try to run the tests in a virtual environment,"
-  echo "      If no virtualenv is found, the script will ask if you would like to create one.  If you "
-  echo "      prefer to run tests NOT in a virtual environment, simply pass the -N option."
+  echo "  The suites should be listed by the name of their directory."
+  echo "  All other options are passed directly to the suites."
   exit
 }
 
 function process_option {
   case "$1" in
     -h|--help) usage;;
-    -V|--virtual-env) let always_venv=1; let never_venv=0;;
-    -N|--no-virtual-env) let always_venv=0; let never_venv=1;;
-    -f|--force) let force=1;;
-    -p|--pep8) let just_pep8=1;;
-    --nova) noseargs="$noseargs -a tags=nova";;
-    --glance) noseargs="$noseargs -a tags=glance";;
-    --swift) noseargs="$noseargs -a tags=swift";;
-    *) noseargs="$noseargs $1"
+    -*|--*) test_opts="$test_opts $1";;
+    *) tests="$tests $1"
   esac
 }
 
-venv=.kong-venv
-with_venv=tools/with_venv.sh
-always_venv=0
-never_venv=0
-force=0
-noseargs=
-wrapper=""
-just_pep8=0
-
 for arg in "$@"; do
   process_option $arg
 done
 
+echo $test_opts
+
 function run_tests {
-  # Just run the test suites in current environment
-  ${wrapper} $NOSETESTS 2> run_tests.err.log
+  for test_dir in $tests
+  do
+    cd $test_dir
+    test_cmd="./run_tests.sh ${test_opts}"
+    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+    echo $test_cmd
+    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+    $test_cmd
+    cd ..
+  done
 }
 
-function run_pep8 {
-  echo "Running pep8 ..."
-  PEP8_EXCLUDE=vcsversion.y
-  PEP8_OPTIONS="--exclude=$PEP8_EXCLUDE --repeat --show-pep8 --show-source"
-  PEP8_INCLUDE="tests tools run_tests.py"
-  ${wrapper} pep8 $PEP8_OPTIONS $PEP8_INCLUDE || exit 1
-}
-NOSETESTS="env python run_tests.py $noseargs"
-
-if [ $never_venv -eq 0 ]
-then
-  # Remove the virtual environment if --force used
-  if [ $force -eq 1 ]; then
-    echo "Cleaning virtualenv..."
-    rm -rf ${venv}
-  fi
-  if [ -e ${venv} ]; then
-    wrapper="${with_venv}"
-  else
-    if [ $always_venv -eq 1 ]; then
-      # Automatically install the virtualenv
-      env python tools/install_venv.py
-      wrapper="${with_venv}"
-    else
-      echo -e "No virtual environment found...create one? (Y/n) \c"
-      read use_ve
-      if [ "x$use_ve" = "xY" -o "x$use_ve" = "x" -o "x$use_ve" = "xy" ]; then
-        # Install the virtualenv and run the test suite in it
-        env python tools/install_venv.py
-                    wrapper=${with_venv}
-      fi
-    fi
-  fi
-fi
-
-if [ $just_pep8 -eq 1 ]; then
-    run_pep8
-    exit
-fi
-
 run_tests || exit
