                   :start-column start-column
                   :end-line end-line
                   :end-column end-column
-                  :covered (/= count 0))
+                  :covered (/= count 0)
+                  :count count)
                  ranges)))
 
-          (forward-line))))
+          (forward-line)))
+
+      (if (> max-count 0)
+          (setq divisor (log max-count))))
 
     (with-current-buffer (or
                           (get-buffer gocov-buffer-name)

  "Coverage color of untracked code."
  :group 'go-cover)

(defface go-coverage-covered
  '((t (:foreground "#2cd495")))
  "Coverage color of covered code."
  :group 'go-cover)

(defface go-coverage-uncovered
  '((t (:foreground "#c00000")))
  "Coverage color of uncovered code."
  :group 'go-cover)


(defvar go-mode-syntax-table
  (let ((st (make-syntax-table)))

    (point)))

(defstruct go--covered
  start-line start-column end-line end-column covered count)

(defun go-coverage (input)
  "Open a clone of the current buffer and overlay it with
