updating after core's refactoring changes
refactor after core changes