Refactor step1