CL chapter 1 refactor
CL Chapter 2 refactor
CL Chapter 3 refactor
CL Chapter 4 refactor
CL Chapter 5 refactor
CL final refactor