diff --git a/examples/dial_test3.rs b/examples/dial_test3.rs
index 84844fb1e3f1c7fe842cdd2d16c0fc1c4cd6c291..bc2dbb8247050e7bbd5afbfae02bcd7cff95639f 100644
--- a/examples/dial_test3.rs
+++ b/examples/dial_test3.rs
@@ -28,7 +28,7 @@ use log::info;
 
 use druid_widgets::*;
 
-#[derive(Clone, Data, Lens)]
+#[derive(Clone, Data, Lens, Default)]
 struct DialLabel {
     value: f64,
 }
@@ -51,7 +51,7 @@ impl DialLabel {
         col
     }
 }
-#[derive(Clone, Data, Lens)]
+#[derive(Clone, Data, Lens, Default)]
 struct Envelope {
     attack: DialLabel,
     decay: DialLabel,
@@ -62,29 +62,43 @@ struct Envelope {
 impl Envelope {
     fn new() -> impl Widget<Envelope> {
         let solid = Color::rgb8(0x3a, 0x3a, 0x3a);
-        let mut col = Flex::column();
-        col.add_child(
+        let mut row = Flex::row();
+        row.add_child(
             DialLabel::new("Attack")
                 .lens(Envelope::attack)
                 .background(solid.clone())
                 .padding(5.0),
             0.0,
         );
-        col.add_child(
+        row.add_child(
             DialLabel::new("Decay")
                 .lens(Envelope::decay)
                 .background(solid.clone())
                 .padding(5.0),
             0.0,
         );
-        col
+        row.add_child(
+            DialLabel::new("Sustain")
+                .lens(Envelope::sustain)
+                .background(solid.clone())
+                .padding(5.0),
+            0.0,
+        );
+        row.add_child(
+            DialLabel::new("Release")
+                .lens(Envelope::release)
+                .background(solid.clone())
+                .padding(5.0),
+            0.0,
+        );
+        row
     }
 }
 
 fn main() -> Result<(), PlatformError> {
-    AppLauncher::with_window(WindowDesc::new(|| DialLabel::new("Value")))
+    AppLauncher::with_window(WindowDesc::new(Envelope::new))
         .use_simple_logger()
-        .launch(DialLabel { value: 0.0 })?;
+        .launch(Envelope::default())?;
 
     Ok(())
 }