first refactorings