refactoring revision