implementing phase 2