added some more progress. (Still first pass)