Complete rewrite (which is why it has its own repository)