prepare for refactoring