dynamic add steps