steps refactor