next refactoring round