up to question 4
finish this