diff --git a/examples/avsb.rs b/examples/avsb.rs
index 4aa2901519d9a29665143c972b46796d4bf75b89..30efc51361800da17f81e0897b5b09de26cb6043 100644
--- a/examples/avsb.rs
+++ b/examples/avsb.rs
@@ -55,21 +55,17 @@ fn current_count_render(
                 <KButtonBundle
                     button={KButton {
                         text: "Click me!".into(),
-                        ..Default::default()
                     }}
                     on_event={OnEvent::new(
                         move |In(_entity): In<Entity>,
                         mut event: ResMut<KEvent>,
                             mut query: Query<&mut CurrentCountState>| {
-                            match event.event_type {
-                                EventType::Click(..) => {
-                                    event.prevent_default();
-                                    event.stop_propagation();
-                                    if let Ok(mut current_count) = query.get_mut(state_entity) {
-                                        current_count.foo += 1;
-                                    }
+                            if let EventType::Click(..) = event.event_type {
+                                event.prevent_default();
+                                event.stop_propagation();
+                                if let Ok(mut current_count) = query.get_mut(state_entity) {
+                                    current_count.foo += 1;
                                 }
-                                _ => {}
                             }
                         },
                     )}
diff --git a/examples/bevy_scene.rs b/examples/bevy_scene.rs
index 942c6e4858e8c3ec85145a0f6d4fd1bc82607e2e..f6d4064fb2ce83d6ed65bc028be584f3fb1f0f35 100644
--- a/examples/bevy_scene.rs
+++ b/examples/bevy_scene.rs
@@ -186,11 +186,8 @@ fn startup(
         move |In(_entity): In<Entity>,
               event: Res<KEvent>,
               mut active_color: ResMut<ActiveColor>| {
-            match event.event_type {
-                EventType::Click(..) => {
-                    active_color.index = (active_color.index + 1) % COLORS.len();
-                }
-                _ => {}
+            if let EventType::Click(..) = event.event_type {
+                active_color.index = (active_color.index + 1) % COLORS.len();
             }
         },
     );
@@ -235,7 +232,6 @@ fn startup(
                 <KButtonBundle
                     button={KButton {
                         text: "Change Tile Color".into(),
-                        ..Default::default()
                     }}
                     on_event={handle_change_color}
                     styles={button_styles}
diff --git a/examples/conditional_widget.rs b/examples/conditional_widget.rs
index fd35b3188e28017decc60dbd44d57d27bef01df7..fb010a418a6a24acca623cae3b7d4def10c81e4b 100644
--- a/examples/conditional_widget.rs
+++ b/examples/conditional_widget.rs
@@ -54,13 +54,10 @@ fn my_widget_render(
                             mut query: Query<&mut MyWidgetState>| {
                             event.prevent_default();
                             event.stop_propagation();
-                            match event.event_type {
-                                EventType::Click(..) => {
-                                    if let Ok(mut state) = query.get_mut(state_entity) {
-                                        state.show_window = true;
-                                    }
+                            if let EventType::Click(..) = event.event_type {
+                                if let Ok(mut state) = query.get_mut(state_entity) {
+                                    state.show_window = true;
                                 }
-                                _ => {}
                             }
                         },
                     )}
@@ -77,20 +74,17 @@ fn my_widget_render(
                             }}
                         >
                             <KButtonBundle
-                                button={KButton { text: "Hide Window".into(), ..Default::default() }}
+                                button={KButton { text: "Hide Window".into() }}
                                 on_event={OnEvent::new(
                                     move |In(_entity): In<Entity>,
                                     mut event: ResMut<KEvent>,
                                         mut query: Query<&mut MyWidgetState>| {
-                                        match event.event_type {
-                                            EventType::Click(..) => {
-                                                event.prevent_default();
-                                                event.stop_propagation();
-                                                if let Ok(mut state) = query.get_mut(state_entity) {
-                                                    state.show_window = false;
-                                                }
+                                        if let EventType::Click(..) = event.event_type {
+                                            event.prevent_default();
+                                            event.stop_propagation();
+                                            if let Ok(mut state) = query.get_mut(state_entity) {
+                                                state.show_window = false;
                                             }
-                                            _ => {}
                                         }
                                     },
                                 )}
diff --git a/examples/context.rs b/examples/context.rs
index de7cda837b3617a251d2b4976a80c90425598d46..db24c81d78cea0c2a01aae5737431085e7028a36 100644
--- a/examples/context.rs
+++ b/examples/context.rs
@@ -107,15 +107,12 @@ fn update_theme_button(
                             query: Query<&ThemeButton>,
                             mut context_query: Query<&mut Theme>,
                             | {
-                                match event.event_type {
-                                    EventType::Click(..) => {
-                                        if let Ok(button) = query.get(theme_button_entity) {
-                                            if let Ok(mut context_theme) = context_query.get_mut(theme_context_entity) {
-                                                *context_theme = button.theme.clone();
-                                            }
+                                if let EventType::Click(..) = event.event_type {
+                                    if let Ok(button) = query.get(theme_button_entity) {
+                                        if let Ok(mut context_theme) = context_query.get_mut(theme_context_entity) {
+                                            *context_theme = button.theme.clone();
                                         }
-                                    },
-                                    _ => {}
+                                    }
                                 }
                             },
                         )}
@@ -284,7 +281,7 @@ fn update_theme_demo(
                                 }}
                             />
                             <KButtonBundle
-                                button={KButton { text: "BUTTON".into(), ..Default::default() }}
+                                button={KButton { text: "BUTTON".into() }}
                                 styles={btn_style}
                             />
                             {
diff --git a/examples/main_menu.rs b/examples/main_menu.rs
index dc75a5a3cac7578fc5794068d38bdd006cd77a09..0111af0de38a09f9ab100d1bfb953bcc228a2a2e 100644
--- a/examples/main_menu.rs
+++ b/examples/main_menu.rs
@@ -149,11 +149,8 @@ fn startup(
 
     let handle_click_close = OnEvent::new(
         move |In(_entity): In<Entity>, event: ResMut<KEvent>, mut exit: EventWriter<AppExit>| {
-            match event.event_type {
-                EventType::Click(..) => {
-                    exit.send(AppExit);
-                }
-                _ => {}
+            if let EventType::Click(..) = event.event_type {
+                exit.send(AppExit);
             }
         },
     );
diff --git a/examples/modal.rs b/examples/modal.rs
index a0c603e5b8214aa1ddc35ea468b0003b8cbee5a7..877e2bfb94bb12779d32f7e916f9013d094af0c5 100644
--- a/examples/modal.rs
+++ b/examples/modal.rs
@@ -54,13 +54,10 @@ fn my_widget_render(
                             mut query: Query<&mut MyWidgetState>| {
                             event.prevent_default();
                             event.stop_propagation();
-                            match event.event_type {
-                                EventType::Click(..) => {
-                                    if let Ok(mut state) = query.get_mut(state_entity) {
-                                        state.show_modal = true;
-                                    }
+                            if let EventType::Click(..) = event.event_type {
+                                if let Ok(mut state) = query.get_mut(state_entity) {
+                                    state.show_modal = true;
                                 }
-                                _ => {}
                             }
                         },
                     )}
@@ -80,20 +77,17 @@ fn my_widget_render(
                     }}
                 >
                     <KButtonBundle
-                        button={KButton { text: "Hide Window".into(), ..Default::default() }}
+                        button={KButton { text: "Hide Window".into() }}
                         on_event={OnEvent::new(
                             move |In(_entity): In<Entity>,
                             mut event: ResMut<KEvent>,
                                 mut query: Query<&mut MyWidgetState>| {
-                                match event.event_type {
-                                    EventType::Click(..) => {
-                                        event.prevent_default();
-                                        event.stop_propagation();
-                                        if let Ok(mut state) = query.get_mut(state_entity) {
-                                            state.show_modal = false;
-                                        }
+                                if let EventType::Click(..) = event.event_type {
+                                    event.prevent_default();
+                                    event.stop_propagation();
+                                    if let Ok(mut state) = query.get_mut(state_entity) {
+                                        state.show_modal = false;
                                     }
-                                    _ => {}
                                 }
                             },
                         )}
diff --git a/examples/simple_state.rs b/examples/simple_state.rs
index dd8397e220586514a6efb4a0ddbe90f4ca8a711d..e04d165eb298fd1c71c3cfe4fcdbb5362a85ec26 100644
--- a/examples/simple_state.rs
+++ b/examples/simple_state.rs
@@ -55,7 +55,6 @@ fn current_count_render(
                 <KButtonBundle
                     button={KButton {
                         text: "Click me!".into(),
-                        ..Default::default()
                     }}
                     styles={KStyle {
                         font_size: (48.).into(),
@@ -66,15 +65,12 @@ fn current_count_render(
                         move |In(_entity): In<Entity>,
                         mut event: ResMut<KEvent>,
                             mut query: Query<&mut CurrentCountState>| {
-                            match event.event_type {
-                                EventType::Click(..) => {
-                                    event.prevent_default();
-                                    event.stop_propagation();
-                                    if let Ok(mut current_count) = query.get_mut(state_entity) {
-                                        current_count.foo += 1;
-                                    }
+                            if let EventType::Click(..) = event.event_type {
+                                event.prevent_default();
+                                event.stop_propagation();
+                                if let Ok(mut current_count) = query.get_mut(state_entity) {
+                                    current_count.foo += 1;
                                 }
-                                _ => {}
                             }
                         },
                     )}
diff --git a/examples/tabs/tab_button.rs b/examples/tabs/tab_button.rs
index 4fbd8b2973a0406c889174542cc4d80a84be6dad..154e83d166c6f321d09e9535999232168f176192 100644
--- a/examples/tabs/tab_button.rs
+++ b/examples/tabs/tab_button.rs
@@ -58,13 +58,10 @@ pub fn tab_button_render(
                 move |In(_entity): In<Entity>,
                       event: Res<KEvent>,
                       mut query: Query<&mut TabContext>| {
-                    match event.event_type {
-                        EventType::Click(..) => {
-                            if let Ok(mut tab_context) = query.get_mut(context_entity) {
-                                tab_context.current_index = button_index;
-                            }
+                    if let EventType::Click(..) = event.event_type {
+                        if let Ok(mut tab_context) = query.get_mut(context_entity) {
+                            tab_context.current_index = button_index;
                         }
-                        _ => {}
                     }
                 },
             );
diff --git a/examples/todo/input.rs b/examples/todo/input.rs
index 9ddb6239daca89ee938c23654070f1a8877e6597..171b3d631d3e857f87cbfc792ef6e106f569bf2f 100644
--- a/examples/todo/input.rs
+++ b/examples/todo/input.rs
@@ -50,15 +50,12 @@ pub fn render_todo_input(
 
     let handle_click = OnEvent::new(
         move |In(_entity): In<Entity>, event: Res<KEvent>, mut todo_list: ResMut<TodoList>| {
-            match event.event_type {
-                EventType::Click(..) => {
-                    if !todo_list.new_item.is_empty() {
-                        let value = todo_list.new_item.clone();
-                        todo_list.items.push(value);
-                        todo_list.new_item.clear();
-                    }
+            if let EventType::Click(..) = event.event_type {
+                if !todo_list.new_item.is_empty() {
+                    let value = todo_list.new_item.clone();
+                    todo_list.items.push(value);
+                    todo_list.new_item.clear();
                 }
-                _ => {}
             }
         },
     );
diff --git a/examples/todo/items.rs b/examples/todo/items.rs
index 4a09e1142275c641af781a042ce73e690acad00b..619e64ff53e4bdd0567ee596d670a942c070f1ea 100644
--- a/examples/todo/items.rs
+++ b/examples/todo/items.rs
@@ -51,11 +51,8 @@ pub fn render_todo_items(
                     move |In(_entity): In<Entity>,
                           event: Res<KEvent>,
                         mut todo_list: ResMut<TodoList>,| {
-                        match event.event_type {
-                            EventType::Click(..) => {
-                                todo_list.items.remove(index);
-                            },
-                            _ => {}
+                        if let EventType::Click(..) = event.event_type {
+                            todo_list.items.remove(index);
                         }
                     },
                 );
diff --git a/examples/vec.rs b/examples/vec.rs
index 00aad5851065d8e24d0befca5218383d63497e21..066841f3228b48c705af1afb23714da9cbfc4d31 100644
--- a/examples/vec.rs
+++ b/examples/vec.rs
@@ -22,7 +22,7 @@ fn my_widget_1_update(
                     constructor! {
                         <TextWidgetBundle
                             text={TextProps {
-                                content: (*text).clone().into(),
+                                content: (*text).into(),
                                 ..Default::default()
                             }}
                         />
diff --git a/kayak_font/src/msdf/edge_segment/mod.rs b/kayak_font/src/msdf/edge_segment/mod.rs
index c80df316f28f66d44f0701a2af1f69e80e7fd887..07711eef4fdcb7bf509bfcf1c9439309d45a9d50 100644
--- a/kayak_font/src/msdf/edge_segment/mod.rs
+++ b/kayak_font/src/msdf/edge_segment/mod.rs
@@ -127,21 +127,15 @@ impl EdgeSegment {
     pub fn find_bounds(&self, l: &mut f64, b: &mut f64, r: &mut f64, t: &mut f64) {
         match *self {
             Self::Line { p0, p1, .. } => line::find_bounds(p0, p1, l, b, r, t),
-            Self::Quadratic { p0, p1, p2, .. } => {
-                quadratic::find_bounds(p0, p1, p2, l, b, r, t)
-            }
-            Self::Cubic { p0, p1, p2, p3, .. } => {
-                cubic::find_bounds(p0, p1, p2, p3, l, b, r, t)
-            }
+            Self::Quadratic { p0, p1, p2, .. } => quadratic::find_bounds(p0, p1, p2, l, b, r, t),
+            Self::Cubic { p0, p1, p2, p3, .. } => cubic::find_bounds(p0, p1, p2, p3, l, b, r, t),
         }
     }
 
     pub fn split_in_thirds(&self) -> (EdgeSegment, EdgeSegment, EdgeSegment) {
         match *self {
             Self::Line { p0, p1, color } => line::split_in_thirds(p0, p1, color),
-            Self::Quadratic { p0, p1, p2, color } => {
-                quadratic::split_in_thirds(p0, p1, p2, color)
-            }
+            Self::Quadratic { p0, p1, p2, color } => quadratic::split_in_thirds(p0, p1, p2, color),
             Self::Cubic {
                 p0,
                 p1,
@@ -155,12 +149,8 @@ impl EdgeSegment {
     pub fn signed_distance(&self, origin: Vector2) -> (SignedDistance, f64) {
         match *self {
             Self::Line { p0, p1, .. } => line::signed_distance(p0, p1, origin),
-            Self::Quadratic { p0, p1, p2, .. } => {
-                quadratic::signed_distance(p0, p1, p2, origin)
-            }
-            Self::Cubic { p0, p1, p2, p3, .. } => {
-                cubic::signed_distance(p0, p1, p2, p3, origin)
-            }
+            Self::Quadratic { p0, p1, p2, .. } => quadratic::signed_distance(p0, p1, p2, origin),
+            Self::Cubic { p0, p1, p2, p3, .. } => cubic::signed_distance(p0, p1, p2, p3, origin),
         }
     }
 
diff --git a/kayak_font/src/msdf/vector.rs b/kayak_font/src/msdf/vector.rs
index e3e8737a2f0cff4327bbf6c982d6c698d7d5b9db..672deaf00a12cea356d3f70471a0c365e9972d4d 100644
--- a/kayak_font/src/msdf/vector.rs
+++ b/kayak_font/src/msdf/vector.rs
@@ -59,7 +59,11 @@ impl Vector2 {
 
     pub fn clamp(n: i32, b: i32) -> i32 {
         if n > 0 {
-            if n <= b { n } else { b }
+            if n <= b {
+                n
+            } else {
+                b
+            }
         } else {
             0
         }
diff --git a/kayak_font/src/ttf/loader.rs b/kayak_font/src/ttf/loader.rs
index 64b588d1fae616daeb3e9d2a1eb9b4dd3594b6b9..27b423a162d58426f44895008df4fec3899e5db3 100644
--- a/kayak_font/src/ttf/loader.rs
+++ b/kayak_font/src/ttf/loader.rs
@@ -79,10 +79,8 @@ impl AssetLoader for TTFLoader {
                 for subtable in subtable.subtables {
                     subtable.codepoints(|codepoint| {
                         if let Some(mapping) = subtable.glyph_index(codepoint) {
-                            glyph_to_char
-                                .insert(mapping, std::char::from_u32(codepoint).unwrap());
-                            char_to_glyph
-                                .insert(std::char::from_u32(codepoint).unwrap(), mapping);
+                            glyph_to_char.insert(mapping, std::char::from_u32(codepoint).unwrap());
+                            char_to_glyph.insert(std::char::from_u32(codepoint).unwrap(), mapping);
                         }
                     })
                 }
@@ -204,7 +202,7 @@ impl AssetLoader for TTFLoader {
                     let cache_image = cache_image;
                     let image = image::load_from_memory(&cache_image).unwrap();
                     image.as_bytes().to_vec()
-                },
+                }
                 Err(_) => {
                     #[cfg(not(target_family = "wasm"))]
                     image_builder
diff --git a/kayak_ui_macros/src/children.rs b/kayak_ui_macros/src/children.rs
index cc176375e9d739351e2df1bc28bae2ea52ba0320..36acf9ed0525ce6d19358cc9398f16a1d41526ce 100644
--- a/kayak_ui_macros/src/children.rs
+++ b/kayak_ui_macros/src/children.rs
@@ -13,7 +13,9 @@ impl Children {
     }
 
     pub fn is_block(&self) -> bool {
-        self.nodes.iter().any(|node| matches!(node, Child::RawBlock(..)))
+        self.nodes
+            .iter()
+            .any(|node| matches!(node, Child::RawBlock(..)))
     }
 
     // pub fn get_clonable_attributes(&self, index: usize) -> Vec<proc_macro2::TokenStream> {
diff --git a/src/context.rs b/src/context.rs
index 28673cedbdb66e58e6723f1834ec48a7341a83bf..61612160a982173adb610a5642af223bead37aa9 100644
--- a/src/context.rs
+++ b/src/context.rs
@@ -1117,8 +1117,12 @@ fn update_widget(
 
         let widget_update_system = &mut systems
             .get_mut(&widget_type)
-            .unwrap_or_else(|| panic!("Wasn't able to find render/update systems for widget: {}!",
-                widget_type))
+            .unwrap_or_else(|| {
+                panic!(
+                    "Wasn't able to find render/update systems for widget: {}!",
+                    widget_type
+                )
+            })
             .0;
         let old_tick = widget_update_system.get_last_change_tick();
 
diff --git a/src/styles/mod.rs b/src/styles/mod.rs
index 34acdd8cda122f929a4243d4144205464b71218e..5a084d9a59b3105c9c53606678911e9fd19ee0ca 100644
--- a/src/styles/mod.rs
+++ b/src/styles/mod.rs
@@ -115,7 +115,8 @@ fn parse_rgba(s: &str) -> Color {
     let s = s.replace("rgba(", "").replace("rgb(", "").replace(')', "");
     let values = s.split(',').collect::<Vec<_>>();
 
-    let r = values.first()
+    let r = values
+        .first()
         .map(|s| s.trim().parse::<f32>().map(|v| v / 255.0).unwrap_or(0.0))
         .unwrap_or(0.0);
     let g = values
diff --git a/src/tree.rs b/src/tree.rs
index c21dc81135edbeacdfb0da71d1d2062978e3d233..e8f456c76f5046e56a9056a3ea2232fb6265d38f 100644
--- a/src/tree.rs
+++ b/src/tree.rs
@@ -360,14 +360,15 @@ impl Tree {
 
                 let parent_a = self.parent(children_a.get(*id).unwrap().1);
                 let parent_b = self.parent(*node);
-                let definitely_moved = if let (Some(parent_a), Some(parent_b)) = (parent_a, parent_b) {
-                    parent_a != parent_b
-                        || (parent_a == parent_b
-                            && *node != children_a.get(*id).unwrap().1
-                            && children_a.iter().any(|(_, node_b)| node == node_b))
-                } else {
-                    false
-                };
+                let definitely_moved =
+                    if let (Some(parent_a), Some(parent_b)) = (parent_a, parent_b) {
+                        parent_a != parent_b
+                            || (parent_a == parent_b
+                                && *node != children_a.get(*id).unwrap().1
+                                && children_a.iter().any(|(_, node_b)| node == node_b))
+                    } else {
+                        false
+                    };
 
                 if definitely_moved {
                     let change = if change[0] == Change::Unchanged {
@@ -481,14 +482,15 @@ impl Tree {
 
                 let parent_a = self.parent(tree1.get(*id).unwrap().1);
                 let parent_b = self.parent(*node);
-                let definitely_moved = if let (Some(parent_a), Some(parent_b)) = (parent_a, parent_b) {
-                    parent_a != parent_b
-                        || (parent_a == parent_b
-                            && *node != tree1.get(*id).unwrap().1
-                            && tree1.iter().any(|(_, node_b)| node == node_b))
-                } else {
-                    false
-                };
+                let definitely_moved =
+                    if let (Some(parent_a), Some(parent_b)) = (parent_a, parent_b) {
+                        parent_a != parent_b
+                            || (parent_a == parent_b
+                                && *node != tree1.get(*id).unwrap().1
+                                && tree1.iter().any(|(_, node_b)| node == node_b))
+                    } else {
+                        false
+                    };
 
                 if definitely_moved {
                     let change = if change[0] == Change::Unchanged {
diff --git a/src/widget.rs b/src/widget.rs
index 0161fdf618e563a19a263c094eb0d1e68659e614..f07986eb586a8f0157261a8cf78b2437cbf9190d 100644
--- a/src/widget.rs
+++ b/src/widget.rs
@@ -164,7 +164,9 @@ impl<'w, 's, Props: PartialEq + Component, State: PartialEq + Component>
         }
 
         // Check state
-        if let (Some(current_state_entity), Some(previous_state_entity)) = (current_state_entity, previous_state_entity) {
+        if let (Some(current_state_entity), Some(previous_state_entity)) =
+            (current_state_entity, previous_state_entity)
+        {
             if let (Ok(state), Ok(previous_state)) = (
                 self.state_query.get(current_state_entity),
                 self.state_query.get(previous_state_entity),
diff --git a/src/widgets/scroll/scroll_bar.rs b/src/widgets/scroll/scroll_bar.rs
index bda78cc62824a7904e6a6d9ae74a92d2ad6cd95d..99db8b47afab9fe28d1de233e59bb038c0557f51 100644
--- a/src/widgets/scroll/scroll_bar.rs
+++ b/src/widgets/scroll/scroll_bar.rs
@@ -149,7 +149,8 @@ pub fn scroll_bar_render(
                     green,
                     blue,
                     alpha,
-                } = &mut border_color {
+                } = &mut border_color
+                {
                     *alpha = (*alpha - 0.2).max(0.0);
                     *red = (*red + 0.1).min(1.0);
                     *green = (*green + 0.1).min(1.0);
diff --git a/src/widgets/scroll/scroll_box.rs b/src/widgets/scroll/scroll_box.rs
index 6abab735901043de0769bb19c09eb6b5e6fa3b18..258ea31682d2680ced8ec9059f91fca5466308cd 100644
--- a/src/widgets/scroll/scroll_box.rs
+++ b/src/widgets/scroll/scroll_box.rs
@@ -189,12 +189,10 @@ pub fn scroll_box_render(
                                 match evt.delta {
                                     ScrollUnit::Line { x, y } => {
                                         if !disable_horizontal {
-                                            scroll_context
-                                                .set_scroll_x(scroll_x - x * scroll_line);
+                                            scroll_context.set_scroll_x(scroll_x - x * scroll_line);
                                         }
                                         if !disable_vertical {
-                                            scroll_context
-                                                .set_scroll_y(scroll_y + y * scroll_line);
+                                            scroll_context.set_scroll_y(scroll_y + y * scroll_line);
                                         }
                                     }
                                     ScrollUnit::Pixel { x, y } => {