refactoring checkpoint 1 .....