refactoring en une seule fonction