Refactore core