first update - nowhere near complete.