a lot of refactorings