finished versions of exercise 4