finishe exc 4 and 5 in chapter 4
finishe excise 3 in chapter 5.(needs refactor)