Revert "Exercise 8.7"

This reverts commit 83b9ae560b8810f1fc7afbfc5f257425213d4eb1.
Revert "Revert "Exercise 8.7""

This reverts commit 9214e7b592013d2e7bffeb8e52eb3acc4cc427eb.