refactoring design pattern
Tout plus