diff --git a/Cargo.toml b/Cargo.toml
index bbdda9db60e6f40408d61ec230fb86e133a31dba..94fc7ba621e7c20cfbe5ec878cc0713a8f79f9f8 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -55,7 +55,15 @@ name                = "serial"
 required-features   = ["stm32f4xx-hal"]
 
 [[example]]
-name                = "rtfm_blinky"
+name                = "rtfm_blinky_msg1"
+required-features   = ["rtfm"]
+
+[[example]]
+name                = "rtfm_blinky_msg2"
+required-features   = ["rtfm"]
+
+[[example]]
+name                = "rtfm_blinky_msg3"
 required-features   = ["rtfm"]
 
 [profile.dev]
diff --git a/examples/rtfm_blinky_msg1.rs b/examples/rtfm_blinky_msg1.rs
index 48d45745d74f781a38b724af2dddeb9aef1f40cb..dddb87d239e63fea62c0d4fca622c023644974e3 100644
--- a/examples/rtfm_blinky_msg1.rs
+++ b/examples/rtfm_blinky_msg1.rs
@@ -1,5 +1,5 @@
 #![deny(unsafe_code)]
-// #![deny(warnings)]
+#![deny(warnings)]
 #![no_main]
 #![no_std]
 
@@ -16,9 +16,9 @@ const APP: () = {
         GPIOA: stm32::GPIOA,
     }
     #[init(schedule = [toggle])]
-    fn init(mut cx: init::Context) -> init::LateResources {
+    fn init(cx: init::Context) -> init::LateResources {
         let mut core = cx.core;
-        let mut device = cx.device;
+        let device = cx.device;
 
         // Initialize (enable) the monotonic timer (CYCCNT)
         core.DCB.enable_trace();
diff --git a/examples/rtfm_blinky_msg2.rs b/examples/rtfm_blinky_msg2.rs
index 18867aafb2f0600f53e904367dabbfd13b5a5cd1..d1ddee9f89e5dff719242e6f30fe09a2980e7b48 100644
--- a/examples/rtfm_blinky_msg2.rs
+++ b/examples/rtfm_blinky_msg2.rs
@@ -1,5 +1,5 @@
 #![deny(unsafe_code)]
-// #![deny(warnings)]
+#![deny(warnings)]
 #![no_main]
 #![no_std]
 
@@ -16,9 +16,9 @@ const APP: () = {
         GPIOA: stm32::GPIOA,
     }
     #[init(schedule = [toggle])]
-    fn init(mut cx: init::Context) -> init::LateResources {
+    fn init(cx: init::Context) -> init::LateResources {
         let mut core = cx.core;
-        let mut device = cx.device;
+        let device = cx.device;
 
         // Initialize (enable) the monotonic timer (CYCCNT)
         core.DCB.enable_trace();
diff --git a/examples/rtfm_blinky_msg3.rs b/examples/rtfm_blinky_msg3.rs
index 81f2858b4e1cffe3b3a190e227135d27caa8615e..a80f9a786d67d93f22e3ffe09724097d0965ee03 100644
--- a/examples/rtfm_blinky_msg3.rs
+++ b/examples/rtfm_blinky_msg3.rs
@@ -1,5 +1,5 @@
 #![deny(unsafe_code)]
-// #![deny(warnings)]
+#![deny(warnings)]
 #![no_main]
 #![no_std]
 
@@ -12,9 +12,9 @@ use stm32f4xx_hal::stm32;
 #[rtfm::app(device = stm32f4xx_hal::stm32, monotonic = rtfm::cyccnt::CYCCNT, peripherals = true)]
 const APP: () = {
     #[init(schedule = [toggle])]
-    fn init(mut cx: init::Context) {
+    fn init(cx: init::Context) {
         let mut core = cx.core;
-        let mut device = cx.device;
+        let device = cx.device;
 
         // Initialize (enable) the monotonic timer (CYCCNT)
         core.DCB.enable_trace();
@@ -32,10 +32,11 @@ const APP: () = {
         device.GPIOA.moder.modify(|_, w| w.moder5().bits(1));
 
         cx.schedule
-            .toggle(now + 8_000_000.cycles(), true, device.GPIOA);
+            .toggle(now + 8_000_000.cycles(), true, device.GPIOA)
+            .ok();
     }
 
-    #[task(schedule = [toggle])]
+    #[task(schedule= [toggle])]
     fn toggle(cx: toggle::Context, toggle: bool, gpioa: stm32::GPIOA) {
         hprintln!("toggle  @ {:?}", Instant::now()).unwrap();
 
@@ -46,7 +47,8 @@ const APP: () = {
         }
 
         cx.schedule
-            .toggle(cx.scheduled + 8_000_000.cycles(), !toggle, gpioa);
+            .toggle(cx.scheduled + 8_000_000.cycles(), !toggle, gpioa)
+            .ok();
     }
 
     extern "C" {