Bug 907013 Rewrite everything.