refactoring pour identifier les possibles implementations