diff --git a/jjb/pipeline/voltha/master/bbsim-tests.groovy b/jjb/pipeline/voltha/master/bbsim-tests.groovy
index a2f7605..b6b99f8 100644
--- a/jjb/pipeline/voltha/master/bbsim-tests.groovy
+++ b/jjb/pipeline/voltha/master/bbsim-tests.groovy
@@ -79,9 +79,9 @@
     println("** ${iam}: ENTER")
     try
     {
-	println("** ${iam} Running: installKind() { debug:true }"
-	// installKind(name)
-	println("** ${iam}: Ran to completion")
+	println("** ${iam} Running installKind(name): ENTER")
+	installKind(name)
+	println("** ${iam} Running installKind(name): LEAVE")
 	ans = True // iff
     }
     catch (Exception err)
diff --git a/makefiles/lint/groovy/install.mk b/makefiles/lint/groovy/install.mk
new file mode 100644
index 0000000..7843e8f
--- /dev/null
+++ b/makefiles/lint/groovy/install.mk
@@ -0,0 +1,4 @@
+
+# curl -O -L https://npmjs.org/install.sh
+# sh install
+# curl -L https://npmjs.org/install.sh | sh
diff --git a/vars/installKind.groovy b/vars/installKind.groovy
index 724c9ef..be791d0 100644
--- a/vars/installKind.groovy
+++ b/vars/installKind.groovy
@@ -17,8 +17,7 @@
 
 // -----------------------------------------------------------------------
 // -----------------------------------------------------------------------
-String getIam(String func)
-{
+String getIam(String func) {
     // Cannot rely on a stack trace due to jenkins manipulation
     String src = 'vars/installKind.groovy'
     String iam = [src, func].join('::')
@@ -27,22 +26,20 @@
 
 // -----------------------------------------------------------------------
 // -----------------------------------------------------------------------
-def process(Map args)
-{
+void process(Map args) {
     String iam = getIam('process')
-    Boolean ans = true
 
     println("** ${iam}: ENTER branch=${args.branch}")
-    println("args = " + args)
+    println('args = ' + args)
 
     // go install sigs.k8s.io/kind@v0.18.0
     sh(
-	script: './installKind.sh',
-	returnStdout: true
+        script: './installKind.sh',
+        returnStdout: true
     )
 
     println("** ${iam}: LEAVE")
-    return(ans)
+    return
 }
 
 // -----------------------------------------------------------------------
@@ -63,28 +60,30 @@
 
 // -----------------------------------------------------------------------
 // -----------------------------------------------------------------------
-def call(String branch)
-{
-    String iam = getIam('main')
+Boolean call(String branch) {
+    String  iam = getIam('main')
+    Boolean ans = true
+
     println("** ${iam}: ENTER")
     println("** ${iam}: Debug= is " + config.contains(debug))
 
-    try
-    {
-	// Will be passed in eventually
-	Map config = [debug :false, branch:branch]
+    try {
+        // Will be passed in eventually
+        Map config = [debug :false, branch:branch]
         process(config)
     }
+    /*
     catch (Exception err)
     {
         println("** ${iam}: EXCEPTION ${err}")
         throw err
     }
-    finally
-    {
+*/
+    finally {
         println("** ${iam}: LEAVE")
     }
-    return
+
+    return(ans)
 }
 
 // [EOF]
