Actually all working, I think. Now let's see if i can get this on npm...