finished through exercise 3