add exercise 7 [incomplete]