Merge chapter 8

Current coverage is about 94% by SimpleCov. Coveralls is showing a lot of inaccuracy due to ignoring important files and including tests in the evaluation.