add chapter4 code