Initial skeleton #6
Work on #2
Work on #4
Work on #5
Work on #3
Merge pull request #7 from emmanuel-keller/master

Initial implementation