zy: add steps and checkpoint