refactoring CL