package 'core' refactored