update by ray