integrate new changes to chap2