Too many changes to name.

Really, almost a complete rewrite.