exercise 3.13 make-cycle