reverse refactor