preliminar step()