add a new function retrieveAllWithSteps()