add steps logic