refactor specs - chapter 5 exercises