refactoring et finalisation