add muti-stage version