Add documentation explaining major concepts and purpose for each file. Add package level documentation that describes interconnections between major concepts in different files and how to use public API. _NOTE: Use `Go` for identifying the go language. There is at least one use of `GO` in the code documentation.`