Core module added to avoid cyclic dependencies
refactoring