big commit - mostly done.