   degree_colors = ['red', 'blue', 'green', 'orange']
   other_colors = ['rgba(255,0,0 ,.1)', 'rgba(0,0,255, 0.1)', 'rgba(0,255,0, 0.1)', 'rgba(255,0,255, 0.1)']
 
-  grid cols: 3, rows: 4
+  grid cols: 4, rows: 3
   , cell_width: padded_fretboard_width
   , cell_height: padded_fretboard_height
   , gutter_height: 20
-  , header_height: diagram_title_height
+  , header_height: 40
   , (cell) ->
 
-    ctx.font = '20px Impact'
     ctx.fillStyle = 'rgb(128, 128, 128)'
-    ctx.fillText "#{chord.name} Chords", diagram_gutter / 2, header_height / 2 - 10
+    draw_title "#{chord.name} Chords", font: '20px Impact'
+    , x: 0
+    , y: 0
+    , gravity: 'top'
 
     ctx.save()
-    ctx.translate 215, 15
+    ctx.translate 285, 20
     ctx.scale 0.85,0.85
     draw_pitch_diagram chord.pitch_classes, degree_colors
     ctx.restore()

  ctx = canvas.getContext('2d')
  ctx.textDrawingMode = 'glyph' if pdf
  erase_background()
  ctx.save()
  ctx.translate page_margin, page_margin
  draw_page ctx
  ctx.restore()
  unless pdf
    filename = "#{DefaultFilename or 'test'}.png"
    fs.writeFile BuildDirectory + filename, canvas.toBuffer()

chord_page = (chord, options) ->
  {best_fingering} = options || {}

  pitch_fingers = []
  finger_positions_each (finger_position) ->
    pitch = pitch_number_for_position(finger_position) % 12
