diff --git a/sensu/files/checks/check_nova_services.sh b/sensu/files/checks/check_nova_services.sh
index 83347b3..e8dd8cd 100644
--- a/sensu/files/checks/check_nova_services.sh
+++ b/sensu/files/checks/check_nova_services.sh
@@ -1,6 +1,11 @@
 #!/bin/bash
 #check nova service-list on ctls
 
+usage() {
+    echo "usage: ./check_nova_services.sh -u <openstack.user> -p <openstack.password> -t <openstack.tenant> -h 'http://<openstack.host>:<openstack.port>/v2.0'"
+    exit 1
+}
+
 while getopts ":u:p:t:h:" opt; do
     case $opt in
         u)
@@ -12,13 +17,33 @@
         h)
             host=${OPTARG};;
        \?)
-            echo "Invalid option";exit 1;;
+            echo "Invalid option"
+            usage;;
         : ) echo "Option -"$OPTARG" requires an argument." >&2
-            exit 1;;
+            usage;;
     esac
 done
 
-read -ra nova_state_down <<< $(nova --os-username $user --os-password $passwd --os-tenant-name $tenant --os-auth-url $host service-list | head -n -1 | tr -d "|" | awk '/'down'/ {print "Service " $2 " on " $3 " is DOWN" ";"}')
+exit_ok() {
+    echo "OK: $*"
+    exit 0
+}
+exit_warning() {
+    echo "WARNING: $*"
+    exit 1
+}
+exit_critical() {
+    echo "CRITICAL: $*"
+    exit 2
+}
+
+read -ra nova_state <<< $(nova --os-username $user --os-password $passwd --os-tenant-name $tenant --os-auth-url $host service-list)
+
+if [[ -z ${nova_state[@]} ]]; then
+        exit_critical "Unknown error"
+fi
+    
+read -ra nova_state_down <<< $(nova --os-username $user --os-password $passwd --os-tenant-name $tenant --os-auth-url $host service-list | head -n -1 | tr -d "|" | grep enabled | awk '/'down'/ {print "Service " $2 " on " $3 " is DOWN" ";"}')
 
 EXITVAL=0
 
@@ -45,25 +70,25 @@
     read -ra scheduler_test <<< ${nova_state_down[@]#nova-scheduler}
 
         if [ ${#nova_state_down[@]} -ne ${#scheduler_test[@]} ]; then
-                EXITVAL=2
+                exit_critical ${nova_state_down[@]}
         fi
 
     read -ra conductor_test <<< ${nova_state_down[@]#nova-conductor}
 
         if [ ${#nova_state_down[@]} -ne ${#conductor_test[@]} ]; then
-                EXITVAL=2
+                exit_critical ${nova_state_down[@]}
         fi
 
     read -ra compute_test <<< ${nova_state_down[@]#nova-compute}
 
         if [ ${#nova_state_down[@]} -ne ${#compute_test[@]} ]; then
-                EXITVAL=2
+                exit_critical ${nova_state_down[@]}
         fi
 
 fi
 
-if [ $EXITVAL != 0 ]; then
-        echo ${nova_state_down[@]}
+if [ $EXITVAL = 1 ]; then
+        exit_warning ${nova_state_down[@]}
+else
+        exit_ok "All nova services running."
 fi
-
-exit $EXITVAL
