first refactoring
fr