Complete overhaul.

Major change.