minimal refactorings