summary refactoring