Refactor code with Pylint and document code
Add Sphinx documentation
Merge branch 'refactoring' into develop