Adding a commentary.
Code tidyup of the key data structure.
Tidyup to remove the need for lexical scope.
Improved code markers.