refactor phase2