diff --git a/TestON/JenkinsFile/dependencies/GeneralFuncs.groovy b/TestON/JenkinsFile/dependencies/GeneralFuncs.groovy
index cae7f6f..4c6f021 100644
--- a/TestON/JenkinsFile/dependencies/GeneralFuncs.groovy
+++ b/TestON/JenkinsFile/dependencies/GeneralFuncs.groovy
@@ -23,19 +23,21 @@
 
 // make the init part of the database command
 def database_command_create( pass, host, port, user ){
-  return pass + "|psql --host=" + host + " --port=" + port + " --username=" + user + " --password --dbname onostest -c "
+    return pass + "|psql --host=" + host + " --port=" + port + " --username=" + user + " --password --dbname onostest -c "
 }
 
 // make the basic graph part for the Rscript
 def basicGraphPart( rFileName, host, port, user, pass, subject, branchName ){
-  return " Rscript " + rFileName + " " + host + " " + port + " " + user + " " + pass + " " + subject + " " + branchName
+    return " Rscript " + rFileName + " " + host + " " + port + " " + user + " " + pass + " " + subject + " " + branchName
 }
 
 // get the list of the test as dictionary then return as a string
 def getTestList( tests ){
-    list = ""
-    for( String test : tests.keySet() )
+    def list = ""
+    for ( String test : tests.keySet() ){
         list += test + ","
+    }
     return list[ 0..-2 ]
 }
-return this;
+
+return this
