modify spread core function