exercise 2.88 and bugfix in 2.80