finish ex3.1~3