Refactoring et new functions