Some design fixes.

No offense, but to fix everything, I'd have to start from the ground up.