Commit ch 5 exercises; refactored specs