changes from chapter-two branch