   ([pad coll]
    (partition 3 1 (concat [pad] coll [pad]))))
 
+
+;; using the window function to create transpositons:
 (defn cell-block 
   "Creates a sequences of 3x3 windows from a triple of 3 sequences."
   [[left mid right]]
   (window (map vector left mid right))) 
 
+;; calculating liveness using destructuring to separate a cell block into
+;; it's parts
 (defn liveness
   "Returns the liveness (nil or :on) of the center cell for
    the next step."  

      3 :on
      nil)))

(defn- step-row
  "Yields the next state of the center row."
  [rows-triple]


;;(-> (iterate indexed-step glider)(nth 8) pprint)

;; a version that avoids indices. This will help to get rid of manual iteration
;; each 'loop' is replaced by a reduce over a range.
(defn indexed-step2
  [board]
  (let [w (count board)
