diff --git a/Cargo.toml b/Cargo.toml
index d1f70c9..bde140b 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -2,8 +2,8 @@
 resolver = "2"
 
 members = [
-    "ConfigHandler",
-    "Networking",
+    "config_handler",
+    "networking",
     "asset",
     "context",
     "controllable_thread",
diff --git a/ConfigHandler/.vscode/settings.json b/config_handler/.vscode/settings.json
similarity index 100%
rename from ConfigHandler/.vscode/settings.json
rename to config_handler/.vscode/settings.json
diff --git a/ConfigHandler/Cargo.toml b/config_handler/Cargo.toml
similarity index 100%
rename from ConfigHandler/Cargo.toml
rename to config_handler/Cargo.toml
diff --git a/ConfigHandler/src/config_handler.rs b/config_handler/src/config_handler.rs
similarity index 100%
rename from ConfigHandler/src/config_handler.rs
rename to config_handler/src/config_handler.rs
diff --git a/ConfigHandler/src/lib.rs b/config_handler/src/lib.rs
similarity index 100%
rename from ConfigHandler/src/lib.rs
rename to config_handler/src/lib.rs
diff --git a/ConfigHandler/src/persistent_duration.rs b/config_handler/src/persistent_duration.rs
similarity index 100%
rename from ConfigHandler/src/persistent_duration.rs
rename to config_handler/src/persistent_duration.rs
diff --git a/ConfigHandler/src/prelude.rs b/config_handler/src/prelude.rs
similarity index 100%
rename from ConfigHandler/src/prelude.rs
rename to config_handler/src/prelude.rs
diff --git a/context/src/core/vulkancore.rs b/context/src/core/vulkancore.rs
index 24013e6..60b517d 100644
--- a/context/src/core/vulkancore.rs
+++ b/context/src/core/vulkancore.rs
@@ -86,17 +86,10 @@ impl VulkanCore {
         // device extensions
         let mut dev_exts = DeviceExtensions::default();
         presentation_core.activate_vulkan_device_extensions(&mut dev_exts, &physical_device)?;
-        dev_exts.memory_requirements2 = true;
         dev_exts.amd_rasterization_order = true;
-        dev_exts.descriptor_indexing = true;
-        dev_exts.maintenance3 = true;
-
         dev_exts.ray_tracing_pipeline = true;
         dev_exts.deferred_host_operations = true;
-        dev_exts.spirv_1_4 = true;
-        dev_exts.buffer_device_address = true;
         dev_exts.acceleration_structure = true;
-        dev_exts.shader_float_controls = true;
         dev_exts.pipeline_library = true;
 
         if vulkan_debug_info.renderdoc {
diff --git a/engine/Cargo.toml b/engine/Cargo.toml
index ab4d849..f223732 100644
--- a/engine/Cargo.toml
+++ b/engine/Cargo.toml
@@ -17,7 +17,7 @@ utilities = { workspace = true }
 assetpath = { workspace = true }
 shaderc = { workspace = true }
 
-config_handler = { path = "../ConfigHandler" }
+config_handler = { path = "../config_handler" }
 asset = { path = "../asset" }
 loading_screen = { path = "../loading-screen" }
 context = { path = "../context", features = ["bundle_sdl2", "sound"] }
diff --git a/engine/src/scene/rendering/rasterizer/deferred/mod.rs b/engine/src/scene/rendering/rasterizer/deferred/mod.rs
index 73ccf0d..e8c8df9 100644
--- a/engine/src/scene/rendering/rasterizer/deferred/mod.rs
+++ b/engine/src/scene/rendering/rasterizer/deferred/mod.rs
@@ -9,13 +9,13 @@ use utilities::prelude::cgmath::{Vector3, Zero};
 
 use super::{
     super::{
-        shared::{bufferhandler::*, safecommandbuffer::SafeCommandBuffer},
         ExtensionCheck, RasterizerDescriptorLayouts, RenderingFrontEnd,
+        shared::{bufferhandler::*, safecommandbuffer::SafeCommandBuffer},
     },
+    SceneInfo,
     lights::light_wrapper::LightHandler,
     pipelines::RasterizerPipelines,
     rasterizershader::RasterizerShader,
-    SceneInfo,
 };
 
 use deferredhandler::{DeferredHandler, FallbackInfo};
@@ -352,10 +352,6 @@ impl Rasterizer {
 
 impl ExtensionCheck for Rasterizer {
     fn check(device: &Arc<Device>) -> bool {
-        if !device.enabled_extensions().descriptor_indexing {
-            return false;
-        }
-
         let physical_device = device.physical_device();
 
         if physical_device
diff --git a/engine/src/scene/rendering/raytracer/raytracer.rs b/engine/src/scene/rendering/raytracer/raytracer.rs
index f60572f..c0d0f10 100644
--- a/engine/src/scene/rendering/raytracer/raytracer.rs
+++ b/engine/src/scene/rendering/raytracer/raytracer.rs
@@ -5,12 +5,12 @@ use utilities::{impl_reprc, prelude::cgmath::Vector3};
 
 use super::{
     super::{
-        shared::position_buffer_reader::PositionBuffer, ExtensionCheck, RaytracerDesciptorLayouts,
-        RenderingFrontEnd,
+        ExtensionCheck, RaytracerDesciptorLayouts, RenderingFrontEnd,
+        shared::position_buffer_reader::PositionBuffer,
     },
+    RenderingCore,
     animator::ComputeBasedAnimator,
     light::{LightData, RayTracerLight},
-    RenderingCore,
 };
 
 use std::sync::{Arc, Mutex};
@@ -488,10 +488,6 @@ where
     T: RenderingCore,
 {
     fn check(device: &Arc<Device>) -> bool {
-        if !device.enabled_extensions().descriptor_indexing {
-            return false;
-        }
-
         let physical_device = device.physical_device();
 
         if physical_device
diff --git a/examples/simple_window/Cargo.toml b/examples/simple_window/Cargo.toml
index 72d6abf..a71cc04 100644
--- a/examples/simple_window/Cargo.toml
+++ b/examples/simple_window/Cargo.toml
@@ -9,3 +9,4 @@ anyhow.workspace = true
 
 ecs = { path = "../../ecs" }
 engine = { path = "../../engine" }
+skybox = { path = "../../skybox" }
diff --git a/examples/simple_window/src/main.rs b/examples/simple_window/src/main.rs
index 8db66e9..2fbebe9 100644
--- a/examples/simple_window/src/main.rs
+++ b/examples/simple_window/src/main.rs
@@ -1,7 +1,10 @@
+use std::path::Path;
+
 use anyhow::Result;
 
 use ecs::*;
 use engine::prelude::*;
+use skybox::SkyBox;
 
 fn main() -> Result<()> {
     let mut world_builder = World::builder();
@@ -11,6 +14,20 @@ fn main() -> Result<()> {
     world_builder.add_system(GameState::update);
     world_builder.resources.insert(GameState::Startup);
 
+    let dir = Path::new("/home/michaelh/Sync/skybox");
+    SkyBox::new(
+        &mut world_builder,
+        [
+            dir.join("left.png"),
+            dir.join("right.png"),
+            dir.join("front.png"),
+            dir.join("back.png"),
+            dir.join("top.png"),
+            dir.join("bottom.png"),
+        ]
+        .into_iter(),
+    )?;
+
     world_builder.build().run()
 }
 
diff --git a/Networking/.vscode/settings.json b/networking/.vscode/settings.json
similarity index 100%
rename from Networking/.vscode/settings.json
rename to networking/.vscode/settings.json
diff --git a/Networking/Cargo.toml b/networking/Cargo.toml
similarity index 93%
rename from Networking/Cargo.toml
rename to networking/Cargo.toml
index 102f7b1..340eb52 100644
--- a/Networking/Cargo.toml
+++ b/networking/Cargo.toml
@@ -7,7 +7,7 @@ edition = "2024"
 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 
 [dependencies]
-config_handler = { path = "../ConfigHandler" }
+config_handler = { path = "../config_handler" }
 anyhow = { workspace = true }
 chrono = { workspace = true }
 
diff --git a/Networking/src/client.rs b/networking/src/client.rs
similarity index 100%
rename from Networking/src/client.rs
rename to networking/src/client.rs
diff --git a/Networking/src/hostname.rs b/networking/src/hostname.rs
similarity index 100%
rename from Networking/src/hostname.rs
rename to networking/src/hostname.rs
diff --git a/Networking/src/lib.rs b/networking/src/lib.rs
similarity index 100%
rename from Networking/src/lib.rs
rename to networking/src/lib.rs
diff --git a/Networking/src/local_address.rs b/networking/src/local_address.rs
similarity index 100%
rename from Networking/src/local_address.rs
rename to networking/src/local_address.rs
diff --git a/Networking/src/prelude.rs b/networking/src/prelude.rs
similarity index 100%
rename from Networking/src/prelude.rs
rename to networking/src/prelude.rs
diff --git a/Networking/src/pseudo_tcp_message.rs b/networking/src/pseudo_tcp_message.rs
similarity index 100%
rename from Networking/src/pseudo_tcp_message.rs
rename to networking/src/pseudo_tcp_message.rs
diff --git a/Networking/src/public_address.rs b/networking/src/public_address.rs
similarity index 100%
rename from Networking/src/public_address.rs
rename to networking/src/public_address.rs
diff --git a/Networking/src/resolve.rs b/networking/src/resolve.rs
similarity index 100%
rename from Networking/src/resolve.rs
rename to networking/src/resolve.rs
diff --git a/Networking/src/server.rs b/networking/src/server.rs
similarity index 100%
rename from Networking/src/server.rs
rename to networking/src/server.rs
diff --git a/Networking/src/socket.rs b/networking/src/socket.rs
similarity index 100%
rename from Networking/src/socket.rs
rename to networking/src/socket.rs
diff --git a/Networking/src/state.rs b/networking/src/state.rs
similarity index 100%
rename from Networking/src/state.rs
rename to networking/src/state.rs
diff --git a/skybox/src/lib.rs b/skybox/src/lib.rs
index 289c613..2715cdf 100644
--- a/skybox/src/lib.rs
+++ b/skybox/src/lib.rs
@@ -33,9 +33,10 @@ pub struct SkyBox {
 }
 
 impl SkyBox {
-    pub fn new(world: &mut WorldBuilder, images: impl Into<SkyBoxImages>) -> Result<Self> {
+    pub fn new(world: &mut WorldBuilder, images: impl Into<SkyBoxImages>) -> Result<()> {
         let images = images.into();
-        let context = world.resources.get::<Context>();
+        let context = world.resources.get_mut::<Context>();
+        context.render_core_mut().add_render_routine::<Self>(1);
 
         let cube_map = Image::cube_map([
             images.left.try_into()?,
@@ -49,7 +50,10 @@ impl SkyBox {
         .attach_pretty_sampler(context.device())?
         .build(context.device(), context.queue())?;
 
-        Ok(Self { cube_map })
+        let me = Self { cube_map };
+        world.resources.insert(me);
+
+        Ok(())
     }
 }