ongoing refactorings