completed 1_1, 1_2, 1_3