diff --git a/examples/pingpong/CMakeLists.txt b/examples/pingpong/CMakeLists.txt
index b551542660a2e04c1c8ead6a25250dc45e404a25..a1bcbe0bf997e776807bc14d53e5ff2d031d4952 100644
--- a/examples/pingpong/CMakeLists.txt
+++ b/examples/pingpong/CMakeLists.txt
@@ -37,7 +37,6 @@ smi
 /usr/include/libxml2 
 ${COMMON_DIR}/input 
 ${COMMON_DIR}/logging
-mod
 )
 
 set(RTSOURCES 
@@ -55,7 +54,7 @@ ${COMMON_DIR}/logging/logging.c
 ${COMMON_DIR}/input/input_nrt.c
 ${COMMON_DIR}/logging/logging_nrt.c
 ${COMMON_DIR}/logging/flash_logger_dist.c
-${COMMON_DIR}/services/services_io_nrt.c
+src/user_nrt.c
 )
 
 add_library(rttasklib STATIC ${RTSOURCES})
@@ -88,13 +87,6 @@ if($ENV{RTAI})
 set_property(TARGET rt APPEND_STRING PROPERTY LINK_FLAGS ${RTAI_LDFLAGS})
 endif()
 
-add_custom_target(
-   services_io.ko
-   COMMAND make
-   WORKING_DIRECTORY ../mod
-)
-add_dependencies(rt services_io.ko)
-
 add_custom_target(
    smi_symbols.h
    COMMAND ln -f -s ${SMI_INC_DIR}/smi_symbols.h ../smi
diff --git a/examples/pingpong/bin/Makefile b/examples/pingpong/bin/Makefile
index f300d71cc71a9cf14ff84c57673fb45bc00d9049..21589849e9954f6b910d0b5953be0f9b09d6cb85 100644
--- a/examples/pingpong/bin/Makefile
+++ b/examples/pingpong/bin/Makefile
@@ -15,7 +15,6 @@ rtaiconfig: createbuild
 
 clean:
 	-$(MAKE) -s clean -C ../build
-	$(MAKE) clean -s -C ../mod	
 
 mrproper:
 	$(MAKE) clean -s -C ../esm	
diff --git a/examples/pingpong/mod/Makefile b/examples/pingpong/mod/Makefile
deleted file mode 100644
index 51844bb55db23a1972e8921dc2dabd3319d31f7f..0000000000000000000000000000000000000000
--- a/examples/pingpong/mod/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-KMODULE := services_io
-INCLUDE := ../src
-
-obj-m   := $(KMODULE).o
-
-KDIR    := /lib/modules/$(shell uname -r)/build
-PWD     := $(shell pwd)
-
-all:	services_io.ko
-	cd ../bin; ln -sf  ../mod/services_io.ko services_io.ko; cd ../mod
-
-services_io.ko:	services_io.h services_io.c
-	$(MAKE) -C $(KDIR) M=$(PWD) modules
-
-
-modules_install:
-	$(MAKE) -C $(KDIR) M=$(PWD) modules_install
-
-clean:
-	$(MAKE) -C $(KDIR) M=$(PWD) SUBDIRS=$(PWD) $@
-	rm -f ../bin/services_io.ko
-	rm -f *.ko Modules.symvers
-
-distclean: clean
diff --git a/examples/pingpong/mod/services_io.c b/examples/pingpong/mod/services_io.c
deleted file mode 100644
index 662529fe220bae3117d11808c959497db0b65d33..0000000000000000000000000000000000000000
--- a/examples/pingpong/mod/services_io.c
+++ /dev/null
@@ -1,95 +0,0 @@
-#include <linux/module.h>
-#include <linux/kernel.h>
-#include <linux/errno.h>
-#include <linux/ioport.h>
-#include <linux/version.h>
-#include <linux/spinlock.h>
-#include <linux/slab.h>
-
-//#include <asm/uaccess.h> 
-//#include <asm/system.h>
-//#include <linux/fs.h>
-#include <linux/io.h>
-
-#include "services_io.h"
-
-MODULE_LICENSE("GPL");
-
-#define MODULE_NAME "SMI_IO"
-
-#define MAX_IO_REGION_NAME_LENGTH 32
-
-static struct resource res[MAX_NUMBER_OF_IO_REGIONS];
-static char names[MAX_NUMBER_OF_IO_REGIONS][MAX_IO_REGION_NAME_LENGTH];
-
-static int nRegions;
-
-//struct file_operations fops;
- 
-int __kernel_init(void)
-{
-	int i,j;
-	char str[MAX_IO_REGION_NAME_LENGTH];
-
-	nRegions=sizeof(regionList)/sizeof(region_struct);
-	printk("[%s] number of regions in list: %d\n",MODULE_NAME,nRegions);	
-	printk("[%s] max. number of regions: %d\n",MODULE_NAME,MAX_NUMBER_OF_IO_REGIONS);	
-	printk("[%s] defined number of regions: %d\n",MODULE_NAME,LAST_REGION_INDEX);	
-
-	for (i=0;i<MAX_NUMBER_OF_IO_REGIONS;i++) {
-		res[i].flags = IORESOURCE_IO; 		
-	}
-
-	if (LAST_REGION_INDEX!=nRegions || nRegions>MAX_NUMBER_OF_IO_REGIONS) {
-		printk("[%s] region list size mismatch\n",MODULE_NAME);
-		return 0;
-	} 
-	
-	for (i=0;i<nRegions;i++) {
-//		snprintf(str,MAX_IO_REGION_NAME_LENGTH,"smi_%d",regionList[i].id);
-		snprintf(str,MAX_IO_REGION_NAME_LENGTH,"smi_%d",i);
-		for (j=0;j<MAX_IO_REGION_NAME_LENGTH;j++) names[i][j]=str[j];
-		res[i].name = names[i];
-
-		res[i].start = regionList[i].start;
-		res[i].end = regionList[i].size+res[i].start-1;
-		res[i].flags = IORESOURCE_BUSY; 
-
-//		register_chrdev(0,"abc",&fops);		
-
-		if 
-//		(request_resource(&ioport_resource, &res[i]) < 0) 
-		(request_region((unsigned long)res[i].start,(unsigned long)(res[i].end-res[i].start+1),res[i].name)==NULL)
-		{
-			printk("[%s] request I/O region %04X-%04X failed\n",MODULE_NAME,
-				(int)res[i].start,(int)res[i].end);
-			res[i].flags = IORESOURCE_IO; 
-		} else printk("[%s] request I/O region %04X-%04X succeeded\n",MODULE_NAME,
-			(int)res[i].start,(int)res[i].end);
-	}
-
-	printk("[%s] loaded.\n", MODULE_NAME);
-	return 0;
-}
-
-void __kernel_exit(void)
-{
-	int i;
-
-//	printk("nRegions: %d\n",nRegions);
-
-	for (i=0;i<MAX_NUMBER_OF_IO_REGIONS;i++) {
-		if (res[i].flags!=IORESOURCE_IO) {
-//			unregister_chrdev(0,"abc");
-//			release_resource(&res[i]);
-			release_region((unsigned long)res[i].start,(unsigned long)(res[i].end-res[i].start+1));
-			printk("[%s] region %04X-%04X released\n",MODULE_NAME,
-				(int)res[i].start,(int)res[i].end);
-		}
-	}
-
-	printk("[%s] unloaded.\n", MODULE_NAME);
-}
-
-module_init(__kernel_init);
-module_exit(__kernel_exit);
diff --git a/examples/pingpong/mod/services_io.h b/examples/pingpong/mod/services_io.h
deleted file mode 100644
index 7bd2ee5261aab39d2c7bf169d61c00aeeceaacc1..0000000000000000000000000000000000000000
--- a/examples/pingpong/mod/services_io.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _services_io_h
-#define _services_io_h
-
-#define MAX_NUMBER_OF_IO_REGIONS 32
-
-typedef volatile struct {
-        unsigned int start;
-        short size;
-} region_struct;
-
-enum regionIndices{
-
-LAST_REGION_INDEX
-};
-
-// list of region parameters ordered according to enumerated regionIndices
-static region_struct regionList[]={
-};
-
-#endif
diff --git a/examples/pingpong/src/nrt.c~ b/examples/pingpong/src/nrt.c~
index 71747c0cb1f66660c664ff36ceda847acc96da99..2501dbf9f6b5e0b0584f312efc73b45c49467ae4 100644
--- a/examples/pingpong/src/nrt.c~
+++ b/examples/pingpong/src/nrt.c~
@@ -29,7 +29,6 @@
 #include "smi.h"
 
 #include "rtshm.h"
-#include "ushm.h"
 
 /*
  **************************************************************************
@@ -39,10 +38,6 @@
 rtshm_struct *rtshm;
 int rtshm_fd;
 
-ushm_struct *ushm;
-int ushm_fd;
-
-
 /*
  **************************************************************************
  * NRT MAIN
@@ -67,19 +62,11 @@ int main(int argc,char *argv[]){
 		return EXIT_FAILURE;
 	}
 
-    printf("[nrt.c: main] allocating ushm shared memory\n");
-    if (initShm(&ushm_fd,sizeof(ushm_struct),(void *) &ushm,USHM_FILE)!=0) {
-        return EXIT_FAILURE;
-    }
-	
 	i=nrtSmi(esmFile,tssFile,tdeFile,cfgFile);
 
 	printf("[nrt.c: main] releasing RT shared memory\n");		
 	closeShm(rtshm_fd,RTSHM_FILE);
 
-    printf("[nrt.c: main] releasing ushm shared memory\n");
-    closeShm(ushm_fd,USHM_FILE);
-	
 	if (i==0) return EXIT_SUCCESS;
 	else return EXIT_FAILURE;
 }
diff --git a/examples/pingpong/src/user_rt.c b/examples/pingpong/src/user_rt.c
index 930b2c8c9371d3bd155aec67428808a063d5da95..50e0791e43a11cc2e0e9b9eef35beb25e9c64993 100644
--- a/examples/pingpong/src/user_rt.c
+++ b/examples/pingpong/src/user_rt.c
@@ -33,16 +33,11 @@
 #include <string.h>
 #include <unistd.h>
 
-#include <sys/io.h>
-
 #include "smi.h"
 #include "profile.h"
 
 #include "rtshm.h"
 
-#define USER_CHECKTASKTIME 1
-#define USER_CHECKNULLPOINTERS 1
-
 
 /*
  **************************************************************************
diff --git a/examples/pingpong/src/user_rt.c~ b/examples/pingpong/src/user_rt.c~
deleted file mode 100644
index d27a0b4e56b6c141b63045bd6ca850261ffbe7a9..0000000000000000000000000000000000000000
--- a/examples/pingpong/src/user_rt.c~
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- **************************************************************************
- * SOURCE FILE
- **************************************************************************
- *
- * user_rt.c - esm task source file for user rt
- *
- *     CSIRO - Heli Project
- *
- **************************************************************************
- */
-
-/**
- **************************************************************************
- * \file user_rt.c
- * \brief na
- * \author na
- * \version na
- * \date na
- **************************************************************************
- */
-
-/*
- **************************************************************************
- * INCLUDES
- **************************************************************************
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/mman.h>
-#include <sys/stat.h>
-#include <signal.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <sys/io.h>
-
-#include "smi.h"
-#include "profile.h"
-
-#include "rtshm.h"
-
-#define USER_CHECKTASKTIME 1
-#define USER_CHECKNULLPOINTERS 1
-
-
-/*
- **************************************************************************
- * GLOBALS
- **************************************************************************
- */
-
-
-/*
- **************************************************************************
- * RT TASKS
- **************************************************************************
- */
-
-void ping(taskStateStruct *taskState
-        // Input Flags:
-        // Output Flags:
-        // RT
-) {
-//  rt_printf("ping %d\n",GETTIME_MS);
-}
-
-void pong(taskStateStruct *taskState
-        // Input Flags:
-        // Output Flags:
-        // RT
-) {
-//  rt_printf("pong %d\n",GETTIME_MS);
-}
diff --git a/examples/system_test/esm/main.esm b/examples/system_test/esm/main.esm
index e616cdea7147865675b5095ea6572dc1f14f3b7f..9940caf764f21204c0aa394654e20e8c8652bb57 100644
--- a/examples/system_test/esm/main.esm
+++ b/examples/system_test/esm/main.esm
@@ -259,7 +259,7 @@
         </transition>
         <transition uuid="{9e1d9645-f428-4565-aae8-5595bd09adcc}" comment="" from-state-uuid="{b2644eb8-a1d2-4e08-8503-5c2168e33a04}" to-state-uuid="{9d5e1509-1b37-47c9-af90-f1a20f91ede6}" event-uuid="{aa550044-45ee-471d-8ca4-daf00b626049}">
           <actions>
-        <set-flag-action uuid="{bc0fefa8-b764-40af-b1bb-f07d2de4559a}" name="" comment="" flag-uuid="{b94afec0-d21b-4315-8fac-9e2bf035f31a}" flag-value="0"/>
+        <set-flag-action uuid="{bc0fefa8-b764-40af-b1bb-f07d2de4559a}" name="" comment="" flag-uuid="{828cf298-847c-45f6-90e5-b86f42b24ca1}" flag-value="0"/>
           </actions>
 <guard operator="none" flag-uuid="{29dfe7ff-4239-47f1-9961-d55e3f717a5f}"/>
         </transition>