first commit of ch01 ch02 ch03