* Doc strings on top, this isn't Python :|
code formatting

* Fixed private/public naming schema
* other code formatting