Committing exercise 4.28.
Merge origin/master