updated: Problem 8.4