Numerous changes.
