diff --git a/TestON/bin/unpep8 b/TestON/bin/unpep8
index 090865a..ff911e8 100755
--- a/TestON/bin/unpep8
+++ b/TestON/bin/unpep8
@@ -179,7 +179,7 @@
 def convertFromPep8( program ):
    oldProgram = program
    # Program text transforms
-   # program = reinstateCapWords( program )  # Turning off for now
+   program = reinstateCapWords( program )
    program = fixKeywords( program )
    program = insertExtraSpaces( program )
    # Undo string damage
diff --git a/TestON/scripts/Cass_clr.sh b/TestON/scripts/Cass_clr.sh
deleted file mode 100755
index a74ea5d..0000000
--- a/TestON/scripts/Cass_clr.sh
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-
-#1 = testname
-#2 = buildnumber
-
-basename="autoONOS"
-machine1="admin@10.128.100.1"
-machine2="admin@10.128.100.4"
-machine3="admin@10.128.100.5"
-machine4="admin@10.128.100.6"
-logmachine="onos@10.254.1.111"
-
-ssh $machine1 "~/ONOS/start-cassandra.sh stop"
-ssh $machine2 "~/ONOS/start-cassandra.sh stop"
-ssh $machine3 "~/ONOS/start-cassandra.sh stop"
-ssh $machine4 "~/ONOS/start-cassandra.sh stop"
-ssh $machine1 "~/clrCass.sh"
-ssh $machine2 "~/clrCass.sh"
-ssh $machine3 "~/clrCass.sh"
-ssh $machine4 "~/clrCass.sh"
-
-
-
-
-
diff --git a/TestON/scripts/get_reroute_times.py b/TestON/scripts/get_reroute_times.py
deleted file mode 100755
index 4e1f6b8..0000000
--- a/TestON/scripts/get_reroute_times.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#! /usr/bin/env python
-import sys
-import time
-import os
-import re
-import json
-
-
-CONFIG_FILE="/home/admin/ping.h10"
-
- 
-  
-def get_times(pingfile):
-  icmp_reqs = [] 
-  times = []
-  f = open(pingfile)
-  for line in f.readlines():
-    if re.search('64\sbytes', line): 
-      icmp_reqs.append( (line.split()[4]).split('=')[1] )
-  f.close()
-  #print icmp_reqs
-  lastnum = int(icmp_reqs[0]) - 1 
-  for num in icmp_reqs: 
-    if int(num) != (lastnum + 1):
-      times.append(int(num) - lastnum) 
-    lastnum = int(num)
-
-  return times
-
-if __name__ == "__main__":
-  total = 0 
-  count = 0 
-  flow = 1
-  for i in os.popen("ls /tmp/ping.*"):
-    print "Flow %d  " % flow
-    for time in get_times(i.strip("\n")):
-      total = total + time
-      count = count + 1
-      print "  %d" % time     
-    flow = flow + 1
-  print "Average: %d" % (total / count ) 
- 
diff --git a/TestON/tests/ProdFunc/ProdFunc.py b/TestON/tests/ProdFunc/ProdFunc.py
index b786e8b..a9a9bb6 100755
--- a/TestON/tests/ProdFunc/ProdFunc.py
+++ b/TestON/tests/ProdFunc/ProdFunc.py
@@ -850,7 +850,7 @@
         '''
         Host intents removal
         ''' 
-        main.log.report("This testcase removes host intents before adding the same intents or point intents")
+        main.log.report("This testcase removes any previously added intents before adding the same intents or point intents")
         main.log.report("__________________________________")        
         main.log.info("Host intents removal")
         main.case("Removing host intents")
diff --git a/TestON/tests/ProdFunc13/ProdFunc13.py b/TestON/tests/ProdFunc13/ProdFunc13.py
index babf853..a815fea 100755
--- a/TestON/tests/ProdFunc13/ProdFunc13.py
+++ b/TestON/tests/ProdFunc13/ProdFunc13.py
@@ -850,7 +850,7 @@
         '''
         Host intents removal
         ''' 
-        main.log.report("This testcase removes host intents before adding the same intents or point intents")
+        main.log.report("This testcase removes any previously added intents before adding the same intents or point intents")
         main.log.report("__________________________________")        
         main.log.info("Host intents removal")
         main.case("Removing host intents")
