#8 - more updates from code review, improved docs, remove whitespace, added final modifiers