ex3-5 almost done