refactoring to core