   (interactive)
   (unless (eq major-mode 'timeline-tools-mode)
     (user-error "Not in Timeline buffer"))
-  (let ((marker (save-mark-and-excursion
-                  (beginning-of-line)
-                  (org-table-next-field)
-                  (-> (get-text-property (point) 'entry)
-                      (timeline-tools-entry-marker)))))
-    (unless marker
-      (user-error "Not on headline to jump to"))
+  (let ((marker (timeline-tools-entry-marker (timeline-tools--get-entry-from-point))))
     (switch-to-buffer (marker-buffer marker))
     (goto-char marker)
     (org-reveal)))

  (interactive)
  (unless (eq major-mode 'timeline-tools-mode)
    (user-error "Not in Timeline buffer"))
  (save-mark-and-excursion
    ;; get actual entry from headline of line
    (beginning-of-line)
    (unless (looking-at "^| ")
      (user-error "Not in table"))
    (org-table-next-field)
    (let ((entry (get-text-property (point) 'entry)))
      (unless entry
        (user-error "Not on valid row in timeline"))
      (kill-line)))
  ;; the call to `erase-buffer’ in `timeline-tools-redraw-timeline’ somehow
  ;; makes `save-mark-and-excursion’ meaningless; thus we save the number of the
  ;; current line by ourselves
  (let ((linenum (line-number-at-pos (point))))
    (timeline-tools-redraw-timeline)
    (goto-char (point-min))


  (let (pos-entry-1 pos-entry-2 entry-1 entry-2)

    (save-mark-and-excursion
      (setq entry-1 (timeline-tools--get-entry-from-point)
            pos-entry-1 (point))
      (timeline-tools-next-line)
      (setq entry-2 (timeline-tools--get-entry-from-point)
            pos-entry-2 (point)))

    ;; Let's create new entries and overwrite the old ones.

