diff --git a/examples/bare10.rs b/examples/bare10.rs
index 3d90134fecc8dacc6cb8dd5c9b7a9a015961daed..4ad60ca4bb1966b287a72935d9b115c354169b88 100644
--- a/examples/bare10.rs
+++ b/examples/bare10.rs
@@ -81,11 +81,22 @@ const APP: () = {
 
     #[task(priority = 1, capacity = 4, resources = [ITM])]
     fn trace_data(byte: u8) {
-        let stim = &mut resources.ITM.stim[0];
-        iprintln!(stim, "data {}", byte);
-        for _ in 0..10000 {
-            asm::nop();
-        }
+        // let stim = &mut resources.ITM.stim[0];
+        // iprintln!(stim, "data {}", byte);
+        // for _ in 0..10000 {
+        //     asm::nop();
+        // }
+    }
+
+    #[task(priority = 1, spawn = [echo, trace_error])]
+    fn cmd_interpretor(byte: u8) {
+        
+        let send: u8 = match byte as char {
+            'a' => byte + 1,
+            _ => byte,
+        };
+
+        let _ = spawn.echo(send);
     }
 
     #[task(priority = 1, resources = [ITM])]
@@ -104,13 +115,13 @@ const APP: () = {
 
     }
 
-    #[interrupt(priority = 3, resources = [RX], spawn = [trace_data, trace_error, echo])]
+    #[interrupt(priority = 3, resources = [RX], spawn = [trace_data, trace_error, cmd_interpretor])]
     fn USART2() {
         let rx = resources.RX;
 
         match rx.read() {
             Ok(byte) => {
-                let _ = spawn.echo(byte);
+                let _ = spawn.cmd_interpretor(byte);
                 if spawn.trace_data(byte).is_err() {
                     let _ = spawn.trace_error(Error::RingBufferOverflow);
                 }
@@ -126,6 +137,7 @@ const APP: () = {
     extern "C" {
         fn EXTI0();
         fn EXTI1();
+        fn EXTI2();
     }
 };