incomplete question 2, todo