Finish chapter3, initial commit for chapter4