diff --git a/doc/Tutorial.md b/doc/Tutorial.md
index 4c4442866017408ef2ab609a6d046a9349f476f2..fc071fa4c59908a66c1399df9b8cb8eb364bf268 100644
--- a/doc/Tutorial.md
+++ b/doc/Tutorial.md
@@ -224,11 +224,11 @@ frame.add_run([&]() {
     if (window.resize_request())
         return window.handle_resize();
 
-    auto frame_index = renderer.begin_frame();
-    if (!frame_index)
+    optional_index current_frame = renderer.begin_frame();
+    if (!current_frame.has_value())
         return run_continue;
 
-    return renderer.end_frame({ cmd_bufs[*frame_index] });
+    return renderer.end_frame({ cmd_bufs[*current_frame] });
 });
 
 frame.add_run_end([&]() {
diff --git a/liblava/frame/renderer.cpp b/liblava/frame/renderer.cpp
index 03725d8f236a6eddee9cc3a772b18345f08855d3..e269e40852c741fb777e66af92d51ba2197484ba 100644
--- a/liblava/frame/renderer.cpp
+++ b/liblava/frame/renderer.cpp
@@ -73,7 +73,7 @@ namespace lava {
         queued_frames = 0;
     }
 
-    std::optional<index> renderer::begin_frame() {
+    optional_index renderer::begin_frame() {
         if (!active)
             return {};
 
@@ -98,15 +98,15 @@ namespace lava {
 
         auto current_semaphore = image_acquired_semaphores[current_sync];
 
-        auto result = device->vkAcquireNextImageKHR(target->get(), UINT64_MAX, current_semaphore, 0, &frame_index);
+        auto result = device->vkAcquireNextImageKHR(target->get(), UINT64_MAX, current_semaphore, 0, &current_frame);
         if (result.value == VK_ERROR_OUT_OF_DATE_KHR) {
             target->request_reload();
             return {};
         }
 
         // because frames might not come in sequential order current frame might still be locked
-        if ((fences_in_use[frame_index] != 0) && (fences_in_use[frame_index] != fences[current_sync])) {
-            auto result = device->vkWaitForFences(1, &fences_in_use[frame_index], VK_TRUE, UINT64_MAX);
+        if ((fences_in_use[current_frame] != 0) && (fences_in_use[current_frame] != fences[current_sync])) {
+            auto result = device->vkWaitForFences(1, &fences_in_use[current_frame], VK_TRUE, UINT64_MAX);
 
             if (result.value == VK_ERROR_OUT_OF_DATE_KHR) {
                 target->request_reload();
@@ -117,7 +117,7 @@ namespace lava {
                 return {};
         }
 
-        fences_in_use[frame_index] = fences[current_sync];
+        fences_in_use[current_frame] = fences[current_sync];
 
         if (!result)
             return {};
@@ -154,7 +154,7 @@ namespace lava {
             return false;
 
         std::array<VkSwapchainKHR, 1> const swapchains = { target->get() };
-        std::array<ui32, 1> const indices = { frame_index };
+        std::array<ui32, 1> const indices = { current_frame };
 
         VkPresentInfoKHR const present_info{
             .sType = VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,
diff --git a/liblava/frame/renderer.hpp b/liblava/frame/renderer.hpp
index e6a2b834a74754f88630747a09b59473a9781f7f..146202c3b6fee59d93f23646f74658241672e6fe 100644
--- a/liblava/frame/renderer.hpp
+++ b/liblava/frame/renderer.hpp
@@ -9,11 +9,13 @@
 
 namespace lava {
 
+    using optional_index = std::optional<index>;
+
     struct renderer : id_obj {
         bool create(swapchain* target);
         void destroy();
 
-        std::optional<index> begin_frame();
+        optional_index begin_frame();
         bool end_frame(VkCommandBuffers const& cmd_buffers);
 
         bool frame(VkCommandBuffers const& cmd_buffers) {
@@ -24,7 +26,7 @@ namespace lava {
         }
 
         index get_frame() const {
-            return frame_index;
+            return current_frame;
         }
 
         device_ptr get_device() {
@@ -42,7 +44,7 @@ namespace lava {
 
         swapchain* target = nullptr;
 
-        index frame_index = 0;
+        index current_frame = 0;
         ui32 queued_frames = 2;
 
         ui32 current_sync = 0;
diff --git a/tests/tests.cpp b/tests/tests.cpp
index 919de0e1f56e2c078fc53f81076f0173f05d8247..a29050d4333d8231b7bbd1ed8397beb0c9343bfa 100644
--- a/tests/tests.cpp
+++ b/tests/tests.cpp
@@ -167,11 +167,11 @@ LAVA_TEST(4, "clear color") {
         if (window.resize_request())
             return window.handle_resize();
 
-        auto frame_index = renderer.begin_frame();
-        if (!frame_index)
+        optional_index current_frame = renderer.begin_frame();
+        if (!current_frame.has_value())
             return run_continue;
 
-        return renderer.end_frame({ cmd_bufs[*frame_index] });
+        return renderer.end_frame({ cmd_bufs[*current_frame] });
     });
 
     frame.add_run_end([&]() {
@@ -255,11 +255,11 @@ LAVA_TEST(5, "color block") {
         if (window.resize_request())
             return window.handle_resize();
 
-        auto frame_index = renderer.begin_frame();
-        if (!frame_index)
+        optional_index current_frame = renderer.begin_frame();
+        if (!current_frame.has_value())
             return run_continue;
 
-        if (!block.process(*frame_index))
+        if (!block.process(*current_frame))
             return run_abort;
 
         return renderer.end_frame(block.get_buffers());
@@ -338,11 +338,11 @@ LAVA_TEST(6, "forward shading") {
                 frame.set_wait_for_events(false);
         }
 
-        auto frame_index = renderer.begin_frame();
-        if (!frame_index)
+        optional_index current_frame = renderer.begin_frame();
+        if (!current_frame.has_value())
             return run_continue;
 
-        if (!block.process(*frame_index))
+        if (!block.process(*current_frame))
             return run_abort;
 
         return renderer.end_frame(block.get_buffers());