Refactor step 2. Working.