Final Example 30. Only some more testing needed.