finished ex4
finished ex5
ex6
ex7
ex7