More refactoring to Core