separated core managers from core engine