diff --git a/examples/bare6.rs b/examples/bare6.rs
index 7ea0b3d45c32e43eb4fc920b8f2de32d19a14b0a..f00bc505e04031de718441b8dc2332a6d20ce611 100644
--- a/examples/bare6.rs
+++ b/examples/bare6.rs
@@ -38,7 +38,7 @@ fn main() -> ! {
     loop {}
 }
 
-// // user application
+// user application
 fn idle(stim: &mut Stim, rcc: RCC, gpioa: GPIOA) {
     iprintln!(stim, "idle");
 
@@ -83,9 +83,8 @@ fn clock_out(rcc: &RCC, gpioc: &GPIOC) {
     // mco2 	: SYSCLK = 0b00
     // mcopre 	: divide by 4 = 0b110
     rcc.cfgr
-        //.modify(|_, w| unsafe { w.mco2().bits(0b00).mco2pre().bits(0b110) });
-        .modify(|_, w| w.mco2().sysclk().mco2pre().div4());
-
+        .modify(|_, w| unsafe { w.mco2().bits(0b00).mco2pre().bits(0b110) });
+   
     // power on GPIOC, RM0368 6.3.11
     rcc.ahb1enr.modify(|_, w| w.gpiocen().set_bit());
 
@@ -94,15 +93,12 @@ fn clock_out(rcc: &RCC, gpioc: &GPIOC) {
     // AF0, gpioc reset value = AF0
 
     // configure PC9 as alternate function 0b10, RM0368 6.2.10
-    gpioc.moder.modify(|_, w| w.moder9().alternate());
-    // gpioc.moder.modify(|_, w| w.moder9().bits(0b10));
-
+    gpioc.moder.modify(|_, w| w.moder9().bits(0b10));
+    
     // otyper reset state push/pull, in reset state (don't need to change)
 
     // ospeedr 0b11 = very high speed
-
-    // gpioc.ospeedr.modify(|_, w| w.ospeedr9().bits(0b11));
-    gpioc.ospeedr.modify(|_, w| w.ospeedr9().very_high_speed())
+    gpioc.ospeedr.modify(|_, w| w.ospeedr9().bits(0b11));
 }
 
 // 0. Compile and run the example, in 16Mhz
@@ -175,3 +171,25 @@ fn clock_out(rcc: &RCC, gpioc: &GPIOC) {
 //
 //    commit your answers (bare6_4)
 //
+// 5. In the `clock_out` function, the setup of registers is done through
+//    setting bitpattens manually, e.g. 
+//     rcc.cfgr
+//        .modify(|_, w| unsafe { w.mco2().bits(0b00).mco2pre().bits(0b110) });
+//
+//    However based on the vendor SVD file the svd2rust API provides  
+//    a better abstraction, based on pattern enums and functions.
+//
+//    To view the API you can generate documentation for your crate:
+//
+//    > cargo doc --features "hal rtfm" --open
+//
+//    By searching for `mco2` you find the enumerations and functions.
+//    So here 
+//       `w.mco2().bits{0b00}` is equivalent to 
+//       `w.mco2().sysclk()` and improves readabiity. 
+//
+//    Replace the bitpatterns used by the function name equivalents.
+//
+//    Test that the application still runs as before.
+//
+//    Commit your code (bare6_4)
\ No newline at end of file