Refactor and add simple example of the constructor
Merge remote-tracking branch 'origin/master'