Rewrite from scratch