Complete rewrite (again)