refactoring prep