exercise 1 partial solution