tricky solution to question 2.5