diff --git a/src/isolator/hei_isolator.cpp b/src/isolator/hei_isolator.cpp
index 0b3f88f..87eea30 100644
--- a/src/isolator/hei_isolator.cpp
+++ b/src/isolator/hei_isolator.cpp
@@ -1,6 +1,6 @@
 
 #include <isolator/hei_isolator.hpp>
-#include <register/hei_hardware_register.hpp>
+#include <register/hei_scom_register.hpp>
 #include <util/hei_flyweight.hpp>
 
 namespace libhei
@@ -15,7 +15,20 @@
     HEI_INF( "Isolator::initialize(%p,%lu,%d)", i_buffer, i_bufferSize,
              i_forceInit );
 
-    Flyweight<HardwareRegister>::getSingleton().get( HardwareRegister {} );
+    Flyweight<ScomRegister>   & sfw = Flyweight<ScomRegister>::getSingleton();
+    Flyweight<IdScomRegister> & ifw = Flyweight<IdScomRegister>::getSingleton();
+
+    sfw.get( ScomRegister { CHIP_TYPE_INVALID, REG_ID_INVALID,
+                            REG_INST_DEFAULT, REG_ACCESS_RW, 0x01234567 } );
+    sfw.get( ScomRegister { CHIP_TYPE_INVALID, REG_ID_INVALID,
+                            REG_INST_DEFAULT, REG_ACCESS_RW, 0x00112233 } );
+
+    ifw.get( IdScomRegister { CHIP_TYPE_INVALID, REG_ID_INVALID,
+                              REG_INST_DEFAULT, REG_ACCESS_RW,
+                              0x0123456789abcdef } );
+    ifw.get( IdScomRegister { CHIP_TYPE_INVALID, REG_ID_INVALID,
+                              REG_INST_DEFAULT, REG_ACCESS_RW,
+                              0x0011223344556677 } );
     // END temporary code
 
     return rc;
@@ -32,7 +45,8 @@
     // END temporary code
 
     // Remove all of the isolation objects stored in the flyweights.
-    Flyweight<HardwareRegister>::getSingleton().clear();
+    Flyweight<ScomRegister>::getSingleton().clear();
+    Flyweight<IdScomRegister>::getSingleton().clear();
 }
 
 ReturnCode Isolator::isolate( const std::vector<Chip> & i_chipList,
