Added initial implementation

It's no way production ready for the whole world, but should be a good
start. If you make something nice with it, please share back ;)