More traditional exercise.
Fixed merge conflicts.