Latest changes.  Partially working, committing for restructure.