Public part refactoring
Merge upstream
Merge pull request #12 from nbehier/refactoring

Public part refactoring