Finish first step refactor