Major changes.

I am taking a break from this program for a bit.  Please look this over
so far.