preparation for refactoring