Refactor of core complete