diff --git a/deployment/heat/onap-oom/scripts/deploy.sh b/deployment/heat/onap-oom/scripts/deploy.sh
index 8a41a78..11b2938 100755
--- a/deployment/heat/onap-oom/scripts/deploy.sh
+++ b/deployment/heat/onap-oom/scripts/deploy.sh
@@ -9,16 +9,61 @@
 #     http://www.apache.org/licenses/LICENSE-2.0
 #
 
+install_name="onap-oom"
+full_deletion=false
+
 if [ -z "$WORKSPACE" ]; then
     export WORKSPACE=`git rev-parse --show-toplevel`
 fi
 
+usage() { echo "Usage: $0 [-n <number of VMs {2-15}>] [ -r ] <env-name>" 1>&2; exit 1; }
+
 if [ "$#" -ne 1 ]; then
-    echo "Usage: $0 <env-name>"
-    exit 1
+   usage
 fi
 ENV_FILE=$1
 
+while getopts ":n:s:" o; do
+    case "${o}" in
+        n)
+            if [[ ${OPTARG} =~ ^[0-9]+$ ]];then
+                vm_num=${OPTARG}
+                if [ ${OPTARG} > 15 ] || [ ${OPTARG} < 2 ]; then 
+                    usage
+                fi
+            else
+                usage
+            fi
+            ;;
+        r)
+            echo "The following command will delete all information relating to onap within your enviroment"
+            read -p "Are you certain this is what you want? (type y to confirm):" answer
+
+            if [ $answer = "y" ] || [ $answer = "Y" ] || [ $answer = "yes" ] || [ $answer = "Yes"]; then
+                echo "This may delete the work of other colleages within the same enviroment"
+                read -p "Are you certain this is what you want? (type y to confirm):" answer2
+                
+                if [ $answer2 = "y" ] || [ $answer2 = "Y" ] || [ $answer2 = "yes" ] || [ $answer2 = "Yes"]; then
+                    full_deletion=true
+                else 
+                    echo "Ending program"
+                    exit 1
+                fi
+            else 
+                echo "Ending program"
+                exit 1
+            fi
+            ;;
+        q)
+            full_deletion=true
+            ;;
+        *)
+            usage
+            ;;
+    esac
+done
+shift $((OPTIND-1))
+
 SSH_KEY=~/.ssh/onap_key
 
 source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
@@ -27,20 +72,24 @@
 export OS_PASSWORD_ENCRYPTED=$(echo -n "$OS_PASSWORD" | openssl aes-128-ecb -e -K "$SO_ENCRYPTION_KEY" -nosalt | xxd -c 256 -p)
 
 for n in $(seq 1 5); do
-    $WORKSPACE/test/ete/scripts/teardown-onap.sh
+    if [ $full_deletion = true ] ; then 
+        $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $install_name -q
+    else 
+        $WORKSPACE/test/ete/scripts/teardown-onap.sh -n $install_name
+    fi
 
     cd $WORKSPACE/deployment/heat/onap-oom
     envsubst < $ENV_FILE > $ENV_FILE~
 
-    if ! openstack stack create -t ./onap-oom.yaml -e $ENV_FILE~ onap-oom; then
+    if ! openstack stack create -t ./$install_name.yaml -e $ENV_FILE~ $install_name; then
         break
     fi
 
-    while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value onap-oom)" ]; do
+    while [ "CREATE_IN_PROGRESS" == "$(openstack stack show -c stack_status -f value $install_name)" ]; do
         sleep 20
     done
 
-    STATUS=$(openstack stack show -c stack_status -f value onap-oom)
+    STATUS=$(openstack stack show -c stack_status -f value $install_name)
     echo $STATUS
     if [ "CREATE_COMPLETE" != "$STATUS" ]; then
         break
@@ -48,8 +97,8 @@
 
     for i in $(seq 1 30); do
 	sleep 30
-	RANCHER_IP=$(openstack stack output show onap-oom rancher_vm_ip -c output_value -f value)
-        K8S_IP=$(openstack stack output show onap-oom k8s_1_vm_ip -c output_value -f value)
+	RANCHER_IP=$(openstack stack output show $install_name rancher_vm_ip -c output_value -f value)
+        K8S_IP=$(openstack stack output show $install_name k8s_1_vm_ip -c output_value -f value)
 	timeout 1 ping -c 1 "$RANCHER_IP" && break
     done
 
diff --git a/test/ete/scripts/teardown-onap.sh b/test/ete/scripts/teardown-onap.sh
index 9080e20..61e643b 100755
--- a/test/ete/scripts/teardown-onap.sh
+++ b/test/ete/scripts/teardown-onap.sh
@@ -1,49 +1,110 @@
 #!/bin/bash -x
 
+full_deletion=false
+
+usage() { echo "Usage: $0 [-n <string>] [-r]" 1>&2; exit 1; }
+
+while getopts ":rqn:" o; do
+    case "${o}" in
+
+        r)
+            echo "The following command will delete all information relating to onap within your enviroment"
+            read -p "Are you certain this is what you want? (type y to confirm):" answer
+
+            if [ $answer = "y" ] || [ $answer = "Y" ] || [ $answer = "yes" ] || [ $answer = "Yes"]; then
+                echo "This may delete the work of other colleages within the same enviroment"
+                read -p "Are you certain this is what you want? (type y to confirm):" answer2
+                
+                if [ $answer2 = "y" ] || [ $answer2 = "Y" ] || [ $answer2 = "yes" ] || [ $answer2 = "Yes"]; then
+                    full_deletion=true
+                else 
+                    echo "Ending program"
+                    exit 1
+                fi
+            else 
+                echo "Ending program"
+                exit 1
+            fi
+            ;;
+        q)
+            full_deletion=true
+            ;;
+        n)
+            install_name=${OPTARG}
+            ;;
+
+        *)
+            usage
+            ;;
+    esac
+done
+shift $((OPTIND-1))
+
 if [ -z "$WORKSPACE" ]; then
     export WORKSPACE=`git rev-parse --show-toplevel`
 fi
 
 source $WORKSPACE/test/ete/scripts/install_openstack_cli.sh
 
-# delete all instances
-openstack server delete $(openstack server list -c ID -f value)
-sleep 1
+if [ "$full_deletion" = true ];then 
+    echo "Commencing delete, press CRTL-C to stop"
+    sleep 10
 
-# miscellaneous cleanup
-openstack floating ip delete $(openstack floating ip list -c ID -f value)
-sleep 1
+    # delete all instances
+    openstack server delete $(openstack server list -c ID -f value)
+    sleep 1
 
-ROUTERS=$(openstack router list -c ID -f value)
-echo $ROUTERS
-for ROUTER in $ROUTERS; do
-    echo $ROUTER;
-    PORTS=$(openstack router show $ROUTER  -c "interfaces_info" -f "value" | jq -r '.[].port_id')
-    for PORT in $PORTS; do
-        openstack router remove port $ROUTER $PORT
-    done
-    openstack router delete $ROUTER
-done
+    # miscellaneous cleanup
+    openstack floating ip delete $(openstack floating ip list -c ID -f value)
+    sleep 1
 
-openstack port delete $(openstack port list -f value -c ID)
-openstack volume delete $(openstack volume list -f value -c ID)
-
-# delete all except "default" security group
-SECURITY_GROUPS=$(openstack security group list -c ID -f value | grep -v default)
-openstack security group delete $SECURITY_GROUPS
-sleep 1
-
-
-# Delete all existing stacks
-STACKS=$(openstack stack list -c "Stack Name" -f value)
-
-if [ ! -z "${STACKS}" ]; then
-    openstack stack delete -y $STACKS
-    for STACK in ${STACKS}; do
-        until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
-            sleep 2
+    ROUTERS=$(openstack router list -c ID -f value)
+    echo $ROUTERS
+    for ROUTER in $ROUTERS; do
+        echo $ROUTER;
+        PORTS=$(openstack router show $ROUTER  -c "interfaces_info" -f "value" | jq -r '.[].port_id')
+        for PORT in $PORTS; do
+            openstack router remove port $ROUTER $PORT
         done
+        openstack router delete $ROUTER
     done
-else
-    echo "No existing stacks to delete."
-fi
+
+    openstack port delete $(openstack port list -f value -c ID)
+    openstack volume delete $(openstack volume list -f value -c ID)
+
+    # delete all except "default" security group
+    SECURITY_GROUPS=$(openstack security group list -c ID -f value | grep -v default)
+    openstack security group delete $SECURITY_GROUPS
+    sleep 1
+
+
+    # Delete all existing stacks
+    STACKS=$(openstack stack list -c "Stack Name" -f value)
+
+    if [ ! -z "${STACKS}" ]; then
+        openstack stack delete -y $STACKS
+        for STACK in ${STACKS}; do
+            until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
+                sleep 2
+            done
+        done
+    else
+        echo "No existing stacks to delete."
+    fi
+
+else 
+    #Restrained teardown 
+    echo "Restrained teardown"
+    
+    STACK=$install_name
+
+    if [ ! -z "${STACK}" ]; then
+        openstack stack delete $STACK
+        
+        until [ "DELETE_IN_PROGRESS" != "$(openstack stack show -c stack_status -f value $STACK)" ]; do
+        sleep 2
+        done
+    else
+        echo "No existing stack with the name $install_name."
+    fi
+fi
\ No newline at end of file
