this is the exercise for assignment 5