translated to js-module-pattern
refactoring
rectoring private/public methods
bugfixing after refactoring
lowercase bugfix
some js linting...