Refactoring. Core changes.
Refactoring. Core changes.