First version

It should be possible to improve the installation/integration process, but the code should be good.