Refactored.
Updated documentation.
Updated libs.
updated
Merge branch 'develop'