completed ex5
completed ex6
completed ex7