Dev/initial

cc @Raynos
Nice code & tests, now write a good README ;) That's part of the initial PR