diff --git a/Example.Backend/Example.Backend.csproj b/Example.Backend/Example.Backend.csproj
new file mode 100644
index 0000000..11ba0ab
--- /dev/null
+++ b/Example.Backend/Example.Backend.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
+
+ ..\mROA.Test\bin\Debug\net9.0\Example.Shared.dll
+
+
+
+
+
+
+
+
diff --git a/Example.Backend/Program.cs b/Example.Backend/Program.cs
new file mode 100644
index 0000000..92685b0
--- /dev/null
+++ b/Example.Backend/Program.cs
@@ -0,0 +1,19 @@
+using System.Net;
+using Example.Shared;
+using mROA.Codegen;
+using mROA.Implementation;
+using mROA.Implementation.Bootstrap;
+
+
+var bootstrap = new FullMixBuilder();
+bootstrap.UseJsonSerialisation();
+bootstrap.UseNetworkGateway(new IPEndPoint(IPAddress.Loopback, 4567));
+bootstrap.UseStreamInteraction();
+bootstrap.UseBasicExecution();
+bootstrap.UseCollectableContextRepository(typeof(IPrinterFactory).Assembly);
+bootstrap.SetupMethodsRepository(new CoCodegenMethodRepository());
+bootstrap.Build();
+
+var gateway = bootstrap.GetModule();
+
+gateway.Run();
\ No newline at end of file
diff --git a/Example.Frontend/Example.Frontend.csproj b/Example.Frontend/Example.Frontend.csproj
new file mode 100644
index 0000000..62581cc
--- /dev/null
+++ b/Example.Frontend/Example.Frontend.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
diff --git a/Example.Frontend/Program.cs b/Example.Frontend/Program.cs
new file mode 100644
index 0000000..2a247b8
--- /dev/null
+++ b/Example.Frontend/Program.cs
@@ -0,0 +1,27 @@
+// See https://aka.ms/new-console-template for more information
+
+using System.Net;
+using System.Text;
+using Example.Shared;
+using mROA.Codegen;
+using mROA.Implementation;
+using mROA.Implementation.Bootstrap;
+
+var mixer = new FullMixBuilder();
+
+mixer.Modules.Add(new FrontendContextRepository());
+mixer.Modules.Add(new JsonFrontendSerialisationModule());
+mixer.Modules.Add(new StreamBasedInteractionModule());
+mixer.Modules.Add(new NetworkFrontendBridge(new IPEndPoint(IPAddress.Loopback, 4567)));
+
+mixer.Build();
+var context = mixer.GetModule();
+
+var factory = context.GetSingleObject(typeof(IPrinterFactory)) as IPrinterFactory;
+
+var printer = factory.Create("Test");
+var name = printer.Value.GetName();
+Console.WriteLine("Printer name : {0}", name);
+var page = printer.Value.Print("Test Page");
+var data = page.Value.GetData();
+Console.WriteLine("Data : {0}", Encoding.UTF8.GetString(data));
\ No newline at end of file
diff --git a/Example.Shared/Example.Shared.csproj b/Example.Shared/Example.Shared.csproj
new file mode 100644
index 0000000..f3e957f
--- /dev/null
+++ b/Example.Shared/Example.Shared.csproj
@@ -0,0 +1,14 @@
+
+
+
+ net9.0
+ enable
+ enable
+
+
+
+
+
+
+
+