Finish chapter 8 exercises, decouple spec