refactor first steps
refactor seconds steps