refactor should step