draft1 ch04 -01 code