add buildCore()