diff --git a/src/render.cpp b/src/render.cpp
index 682a203..c0e7d75 100644
--- a/src/render.cpp
+++ b/src/render.cpp
@@ -214,7 +214,7 @@ Page_Info_Node *viewer_jump_to_page(App_State &app, u64 page_idx)
   }
   #endif
 
-  app.viewer.latest_page_gone_to = page_idx;
+  app.viewer.latest_section_gone_to[Sec_Page] = page_idx;
   viewer_jump_to(app, page->range.start);
 
   return page;
@@ -229,7 +229,7 @@ void viewer_jump_to_page_list(App_State &app, u64 page_list_idx)
   
   Cluster_Group_Info &cg_info = app.rndata.cluster_groups[page_list_idx];
 
-  app.viewer.latest_page_list_gone_to = page_list_idx;
+  app.viewer.latest_section_gone_to[Sec_Page_List] = page_list_idx;
   viewer_jump_to(app, cg_info.rng_page_list.start);
 }
 
@@ -242,8 +242,7 @@ void viewer_jump_to_free_slot(App_State &app, u64 free_slot_idx)
   
   Byte_Range free_slot = app.tfile_data.free_slots[idx];
 
-  printf("%lu 0x%lX\n", app.tfile_data.n_free_slots, free_slot.start);
-  app.viewer.latest_free_slot_gone_to = idx;
+  app.viewer.latest_section_gone_to[Sec_Free_Slot] = idx;
   viewer_jump_to(app, free_slot.start);
 }
 
@@ -260,7 +259,7 @@ void viewer_jump_to_other_root_obj(App_State &app, u64 obj_idx)
   for (u64 i = 0; i < obj_idx; ++i)
     info = info->next;
 
-  app.viewer.latest_root_obj_gone_to = obj_idx;
+  app.viewer.latest_section_gone_to[Sec_Other] = obj_idx;
   viewer_jump_to(app, info->section.range.start);
 }
 
@@ -276,7 +275,7 @@ void viewer_jump_to_cluster(App_State &app, u64 cluster_idx)
   assert(page);
 
   app.viewer.highlighted_cluster = cluster_idx;
-  app.viewer.latest_page_gone_to = cluster.first_page_idx;
+  app.viewer.latest_section_gone_to[Sec_Page] = cluster.first_page_idx;
   viewer_jump_to(app, page->range.start);
 }
 
@@ -309,9 +308,9 @@ void update_and_render(Arena *arena, App_State &app, f32 delta_time_ms)
   accum_dt_ms(app.delta_time_accum, delta_time_ms);
 
   if (app.user_input.key_state[KEY_PLUS] & KEY_STATE_JUST_PRESSED)
-    viewer_jump_to_page(app, app.viewer.latest_page_gone_to + 1);
+    viewer_jump_to_page(app, app.viewer.latest_section_gone_to[Sec_Page] + 1);
   if (app.user_input.key_state[KEY_MINUS] & KEY_STATE_JUST_PRESSED)
-    viewer_jump_to_page(app, app.viewer.latest_page_gone_to - 1);
+    viewer_jump_to_page(app, app.viewer.latest_section_gone_to[Sec_Page] - 1);
   
   ImGui::SetNextWindowPos({ 0, 0 });
   ImGui::SetNextWindowSize({ (f32)app.win_data.width, (f32)app.win_data.height });
@@ -388,14 +387,15 @@ void update_and_render(Arena *arena, App_State &app, f32 delta_time_ms)
 
       // Unique sections: just display a button that jumps to the start of it and show their size
       for (u32 i = 0; i < Sec_COUNT; ++i) {
-        for (Section *sec = app.tfile_data.sections[i].head; sec; sec = sec->next) {
+        u32 sec_idx = 0;
+        for (Section *sec = app.tfile_data.sections[i].head; sec; sec = sec->next, ++sec_idx) {
           if (!sec->range.len) continue;
 
           String8 sec_name = section_names[i];
           String8 col_label = push_str8f(scratch.arena, "_%s", sec_name.c());
           ImGui::ColorEdit3(col_label.c(), app.viewer.col_section[i], edit_flags);
           ImGui::SameLine(); 
-          if (ImGui::Button(sec_name.c())) 
+          if (ImGui::Button(push_str8f(scratch.arena, "%s_%u", sec_name.c(), sec_idx).c())) 
             viewer_jump_to(app, sec->range.start);
           ImGui::SameLine(); 
           ImGui::Text("%s", to_pretty_size(scratch.arena, sec->range.len).c());
@@ -416,11 +416,11 @@ void update_and_render(Arena *arena, App_State &app, f32 delta_time_ms)
         ImGui::ColorEdit3("_Page", app.viewer.col_section[Sec_Page], edit_flags);
         ImGui::SameLine();
         if (ImGui::Button("Page"))
-          app.viewer.latest_page = viewer_jump_to_page(app, app.viewer.latest_page_gone_to);
+          app.viewer.latest_page = viewer_jump_to_page(app, app.viewer.latest_section_gone_to[Sec_Page]);
         ImGui::SameLine();
         {
           const i64 step_fast_i64 = app.rndata.n_pages / 100;
-          i64 page_to_go_to = app.viewer.latest_page_gone_to;
+          i64 page_to_go_to = app.viewer.latest_section_gone_to[Sec_Page];
           ImGui::PushItemWidth(100.f);
           if (ImGui::InputScalar("##page_viewed", ImGuiDataType_S64, &page_to_go_to, &step_i64, &step_fast_i64, "%u") && 
               ImGui::IsItemDeactivatedAfterEdit())
@@ -444,11 +444,11 @@ void update_and_render(Arena *arena, App_State &app, f32 delta_time_ms)
       ImGui::ColorEdit3("_Page List", app.viewer.col_section[Sec_Page_List], edit_flags);
       ImGui::SameLine(); 
       if (ImGui::Button("Page List"))
-        viewer_jump_to_page_list(app, app.viewer.latest_page_list_gone_to);
+        viewer_jump_to_page_list(app, app.viewer.latest_section_gone_to[Sec_Page_List]);
 
       ImGui::SameLine();
       {
-        i64 page_list_to_go_to = app.viewer.latest_page_list_gone_to;
+        i64 page_list_to_go_to = app.viewer.latest_section_gone_to[Sec_Page_List];
         ImGui::PushItemWidth(80.f);
         if (ImGui::InputScalar("##page_list_viewed", ImGuiDataType_S64, &page_list_to_go_to, &step_i64, nullptr, "%u") 
             && ImGui::IsItemDeactivatedAfterEdit())
@@ -464,11 +464,11 @@ void update_and_render(Arena *arena, App_State &app, f32 delta_time_ms)
         ImGui::ColorEdit3("_Other", app.viewer.col_section[Sec_Other], edit_flags);
         ImGui::SameLine(); 
         if (ImGui::Button("Other"))
-          viewer_jump_to_other_root_obj(app, app.viewer.latest_root_obj_gone_to);
+          viewer_jump_to_other_root_obj(app, app.viewer.latest_section_gone_to[Sec_Other]);
 
         ImGui::SameLine(); 
         {
-          i64 other_root_obj_to_go_to = app.viewer.latest_root_obj_gone_to;
+          i64 other_root_obj_to_go_to = app.viewer.latest_section_gone_to[Sec_Other];
           ImGui::PushItemWidth(80.f);
           if (ImGui::InputScalar("##other_root_objviewed", ImGuiDataType_S64, &other_root_obj_to_go_to, &step_i64, nullptr, "%u") 
               && ImGui::IsItemDeactivatedAfterEdit())
@@ -483,10 +483,10 @@ void update_and_render(Arena *arena, App_State &app, f32 delta_time_ms)
         ImGui::ColorEdit3("_Free Slot", app.viewer.col_section[Sec_Free_Slot], edit_flags);
         ImGui::SameLine(); 
         if (ImGui::Button("Free Slot"))
-          viewer_jump_to_free_slot(app, app.viewer.latest_free_slot_gone_to);
+          viewer_jump_to_free_slot(app, app.viewer.latest_section_gone_to[Sec_Free_Slot]);
         ImGui::SameLine();
         {
-          i64 free_slot_to_go_to = app.viewer.latest_free_slot_gone_to;
+          i64 free_slot_to_go_to = app.viewer.latest_section_gone_to[Sec_Free_Slot];
           ImGui::PushItemWidth(80.f);
           if (ImGui::InputScalar("##free_slot_viewed", ImGuiDataType_S64, &free_slot_to_go_to, &step_i64, nullptr, "%u") 
               && ImGui::IsItemDeactivatedAfterEdit())
diff --git a/src/render.h b/src/render.h
index a1e496a..f29a4df 100644
--- a/src/render.h
+++ b/src/render.h
@@ -18,12 +18,7 @@ struct Viewer {
   
   Page_Info_Node *latest_page;
   
-  u64 latest_page_gone_to;
-  u64 latest_key_gone_to;
-  u64 latest_checksum_gone_to;
-  u64 latest_page_list_gone_to;
-  u64 latest_root_obj_gone_to;
-  u64 latest_free_slot_gone_to;
+  u64 latest_section_gone_to[Sec_COUNT];
 
   Byte_Range hovered_range;
 
diff --git a/src/rntuple.cpp b/src/rntuple.cpp
index 2cee98d..1612111 100644
--- a/src/rntuple.cpp
+++ b/src/rntuple.cpp
@@ -217,6 +217,7 @@ RNTuple_Data get_rntuple_data(Arena *arena, const Inspected_File &file, const TF
   
   /// Load all RNTuple data ///
   anchor_idx = 0;
+  printf("%p\n", tfile_data.sections[Sec_RNTuple_Anchor].head);
   for (Section *sec_anchor = tfile_data.sections[Sec_RNTuple_Anchor].head; sec_anchor; sec_anchor = sec_anchor->next, ++anchor_idx) {
     const ROOT::RNTuple &anchor = *(const ROOT::RNTuple *)sec_anchor->info;
     if (!anchor.GetNBytesHeader())
diff --git a/src/rntviewer.cpp b/src/rntviewer.cpp
index 885f434..3feb5a6 100644
--- a/src/rntviewer.cpp
+++ b/src/rntviewer.cpp
@@ -171,9 +171,9 @@ int main(int argc, char **argv)
     return 0;
   }
 
-  if (!app.ntpl_name.str)
-    fprintf(stderr, "Warning: found no RNTuples in %s\n", args.file_name.c());
-  else if (success)
+  // if (!app.ntpl_name.str)
+  //   fprintf(stderr, "Warning: found no RNTuples in %s\n", args.file_name.c());
+  // else if (success)
     app.rndata = get_rntuple_data(arena, app.inspected_file, app.tfile_data, args.extended_info);
 
   if (args.print_to_terminal) {