refactorings based on core changes