some refactorings
refactorings