mostly done
ch 4 done
Merge branch 'ch4'