assign2_2 finished