refactoring study