implementing phase