removed namespace, moved to simpler snake case namespace, minor refactoring for clarity, improved example