Well, major rewrite