assignment 1 except problem 5 done.