Adds tests and features from chapter 7 exercises