     handle_file: handle_file
 
     save: (cell) ->
-      run_in_info_context cell, 'save'
+      run_before cell, 'save'
 
     context_help: (cell, token) ->
       if graphite.has_docs token
-        run_in_info_context cell, "docs '#{token}'"
+        run_before cell, "docs '#{token}'"
       else if ops[token]?
-        run_in_info_context cell, "help #{token}"
+        run_before cell, "help #{token}"
 
     move_focus: (cell, offset) ->
       new_cell = input_cell_at_offset cell, offset

    for cell in notebook.cells
      cell.active = false
    notebook.cells.length = 0

  cell_index = (cell) ->
    cell.notebook.cells.indexOf cell

    set_cell_value cell, opts.code if opts.code?
    cell

  # run an input cell above the current cell
  run_before = (current_cell, code) ->
    cell = add_input_cell current_cell.notebook, code: code, before: current_cell
    cell.run()

