Major rewrites.