Major Update

Many new additions and a few code/cosmetic fixes. May be my last update
of the day.