refactoring par 2