A quite major rewrite, see the commits / comments for details