Top Level Updates and updates to console examples to get them to run (closes #1)
diff --git a/README.md b/README.md
index b0bbb10..ed7b505 100644
--- a/README.md
+++ b/README.md
@@ -1,26 +1,44 @@
-//////////////////////////////////////////
+<!--
 
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
+  SPDX-License-Identifier: Apache-2.0
 
-    http://www.apache.org/licenses/LICENSE-2.0
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
+    https://www.apache.org/licenses/LICENSE-2.0
 
-//////////////////////////////////////////
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
 
-Groovy examples
+-->
+
+![groovy logo](https://raw.githubusercontent.com/groovy/artwork/master/medium.png)
+
+Groovy Examples
 ===============
 
-This is a repository of Groovy source files using libraries that (at some point) have been frequently used with Groovy.
-It is expected that all the source files at least compile with the current version of Groovy.
+This is a repository of example Groovy projects.  Each consisting of source files and using libraries 
+that (at some point) have been frequently used with Groovy. It is expected that all the example source
+files will at least compile with the current version of Groovy.
+
+Project   |  Description
+--------- | ------------
+[AST Builder](src/main/groovy/astbuilder) | Example showing how to use the AstBuilder to add a public static void main(String[]) method to a class
+[Command Line Tools](src/main/groovy/commandLineTools) | 
+[Console](src/main/groovy/console) |
+[Groovy 2d](src/main/groovy/groovy2d) |
+[Injector](src/main/groovy/org/codehaus/groovy/grails/compiler/injection) | 
+[OSGi](src/main/groovy/osgi) | Sample code illustrating two different usages of [OSGi](http://www.osgi.org/) and Groovy
+[Search Engine](src/main/groovy/searchEngine) |
+[Swing](src/main/groovy/swing) |
+[Transforms](src/main/groovy/transforms) |
+[Web Apps](src/main/groovy/webapps) |
+
+## License
+
+Groovy Examples are licensed under the terms of 
+the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
diff --git a/build.gradle b/build.gradle
index 37fe6c4..64804f4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -66,5 +66,6 @@
                  '**/build/**',
                  'out/**', '*.ipr',  '**/*.iml', '*.iws', // Intellij files
                  '.classpath', '.project', '.settings/**', 'bin/**', // Eclipse files
+                 '**/*.log', '.idea/**'
     ]
 }
diff --git a/gradle.properties b/gradle.properties
index 0277b23..60f5f15 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,5 +1,20 @@
-groovyVersion=3.0.0-SNAPSHOT
-luceneVersion=7.4.0
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+groovyVersion=3.0.7
+luceneVersion=8.7.0
 eclipseOsgiVersion=3.10.0-v20140606-1445
 commonsHttpClientVersion=3.1
-openejbVersion=1.0
+openejbVersion=4.7.5
\ No newline at end of file
diff --git a/src/main/groovy/astbuilder/readme.txt b/src/main/groovy/astbuilder/readme.txt
index 25f7f99..547d60a 100644
--- a/src/main/groovy/astbuilder/readme.txt
+++ b/src/main/groovy/astbuilder/readme.txt
@@ -17,13 +17,21 @@
      under the License.
 ====
 
-AstBuilder and AST Transformation Example
+# AstBuilder and AST Transformation Example
 
 This example shows how to use the AstBuilder to add a public static void main(String[]) 
 method to a class. 
 
-The example requires ant in your path and the Groovy 1.7 (or greater) 
-Jar in your classpath. 
+The example requires ant in your path and the Groovy 1.7 (or greater)
+installed on your system. 
+
+Prior to running, __build.xml__ needs to be configured to reference the 
+installed version of groovy. The following must be done:
+
+1) Set _groovy.version_ to the version of groovy installed.
+2) Update _groovy.home_ to point to the location where groovy is installed.
+
+Once these updates are made and saved, the build file is ready to use.
 
 To build the example run "ant" from the current directory. The default 
 target will compile the classes needed. The last step of the build 
diff --git a/src/main/groovy/console/MortgageCalculator.groovy b/src/main/groovy/console/MortgageCalculator.groovy
index 375e244..0147c3a 100644
--- a/src/main/groovy/console/MortgageCalculator.groovy
+++ b/src/main/groovy/console/MortgageCalculator.groovy
@@ -29,8 +29,8 @@
 println "This program will then calculate the value you leave blank"
 println ""
 
-def variables = [
-    "Amount of mortgage" : 0.0, 
+variables = [
+    "Amount of mortgage" : 0.0,
     "Annual interest rate (%)" : 0.0, 
     "Loan duration (months)" : 0.0, 
     "Monthly payments" : 0.0
@@ -38,7 +38,7 @@
 
 for (entry in variables.entrySet()) {
     print("${entry.key}:")
-    def userInput = System.in.readLine()
+    def userInput = System.console().readLine()
     if ("" == userInput) {
         valueToCalculate = entry.key
     } else {
@@ -48,10 +48,6 @@
 
 println "$valueToCalculate = ${calculateValueOf(valueToCalculate)}"
 
-
-
-
-
 def calculateValueOf(valueToCalculate) {
     def result = 0
     def principal = variables["Amount of mortgage"]
diff --git a/src/main/groovy/console/knowYourTables.groovy b/src/main/groovy/console/knowYourTables.groovy
index 1343365..7435695 100644
--- a/src/main/groovy/console/knowYourTables.groovy
+++ b/src/main/groovy/console/knowYourTables.groovy
@@ -16,6 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
+
 /** 
  * Simple mathematics quiz
  * @author: Jeremy Rayner
@@ -25,7 +26,7 @@
     try {
         def n = (int)(Math.random() * 12) + 1
         println "What is $n times 9?"
-        def a = System.in.readLine().toInteger()
+        def a = System.console().readLine().toInteger()
         if (a == n * 9) println "Correct"
               
     } catch (Exception e) {
diff --git a/src/main/groovy/console/thinkOfANumber.groovy b/src/main/groovy/console/thinkOfANumber.groovy
index 7a42cf9..55abe1a 100644
--- a/src/main/groovy/console/thinkOfANumber.groovy
+++ b/src/main/groovy/console/thinkOfANumber.groovy
@@ -26,7 +26,7 @@
         int x = Math.random() * 6
         print "The computer has chosen a number between 0 and 5. Can you guess it?"
               
-        def line = System.in.readLine()
+        def line = System.console().readLine()
         int g = line.toInteger()
         if (g == x) {
            println "Well done"