refactoring core review