         ctx.fillStyle = 'rgb(10,20,30)'
         ctx.fillText chord_name, h_gutter, -3
 
-        fingering = []
-        for semitones, degree_index in chord.pitch_classes
-          for {string, fret} in intervals_from(root_fingering, semitones)
-            fingering.push {string, fret, degree_index}
+        fingering = do (positions=[]) ->
+          for semitones, degree_index in chord.pitch_classes
+            for {string, fret} in intervals_from(root_fingering, semitones)
+              positions.push {string, fret, degree_index}
+          {positions}
         fingering = best_fingering_for(chord, pitch) if best_fingering
 
-        position.color = degree_colors[position.degree_index] for position in fingering
-        draw_fingerboard fingering, draw_barres: best_fingering
+        position.color = degree_colors[position.degree_index] for position in fingering.positions
+        draw_fingerboard fingering.positions, barres: fingering.barres
 
 chord_book = (options) ->
   page_count = options.pages

        , Math.PI * 3/2, Math.PI * 1/2, false
      ctx.fillStyle = 'rgba(0,0,0, 0.5)'
      ctx.fill()
    # positions = remove_barre_fingerings(barres, positions)
  if positions
    fretted_strings = []
    for position in positions

# chord_page Chords[0], best_fingering: true
# intervals_book by_root: true
# intervals_book by_root: false
# chord_book best_fingering: 1, pages: 0
chord_fingerings_page Chords[6], 'F'
