diff --git a/BlazorBenchmarks.sln b/BlazorBenchmarks.sln
index 183b310..3259fdf 100644
--- a/BlazorBenchmarks.sln
+++ b/BlazorBenchmarks.sln
@@ -74,6 +74,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FluentUI.Blazor.Benchmark.C
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FluentUI", "FluentUI", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LumexUI.Blazor.Benchmark.Client", "LumexUI.Blazor.Benchmark\Client\LumexUI.Blazor.Benchmark.Client.csproj", "{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LumexUI", "LumexUI", "{3384D406-88E8-417F-870D-DA0DBD7D1E6D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LumexUI.Blazor.Benchmark.Server", "LumexUI.Blazor.Benchmark\Server\LumexUI.Blazor.Benchmark.Server.csproj", "{9555DE6B-C270-0B8F-240D-5994DD10013A}"
+EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -168,6 +174,14 @@ Global
 		{11B917E2-C872-36A1-A476-3A3236C73013}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{11B917E2-C872-36A1-A476-3A3236C73013}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{11B917E2-C872-36A1-A476-3A3236C73013}.Release|Any CPU.Build.0 = Release|Any CPU
+		{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9555DE6B-C270-0B8F-240D-5994DD10013A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9555DE6B-C270-0B8F-240D-5994DD10013A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9555DE6B-C270-0B8F-240D-5994DD10013A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9555DE6B-C270-0B8F-240D-5994DD10013A}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -195,6 +209,8 @@ Global
 		{B99719A5-C51D-4E84-8C17-0232EFDB69F7} = {AA99018F-7582-4A3C-989D-6B18506F864B}
 		{2B91B5BA-16DD-60B5-6F3C-EA01E8C50200} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
 		{11B917E2-C872-36A1-A476-3A3236C73013} = {02EA681E-C7D8-13C7-8484-4AC65E1B71E8}
+		{ADCB62CD-1693-7A0F-A06D-F02001BCDC8E} = {3384D406-88E8-417F-870D-DA0DBD7D1E6D}
+		{9555DE6B-C270-0B8F-240D-5994DD10013A} = {3384D406-88E8-417F-870D-DA0DBD7D1E6D}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {E284F5B4-146F-44A2-9962-B50F6216B1A7}
diff --git a/LumexUI.Blazor.Benchmark/Client/App.razor b/LumexUI.Blazor.Benchmark/Client/App.razor
new file mode 100644
index 0000000..6fd3ed1
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/App.razor
@@ -0,0 +1,12 @@
+
+    
+        
+        
+    
+    
+        Not found
+        
+            Sorry, there's nothing at this address.
+        
+    
+
diff --git a/LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj b/LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj
new file mode 100644
index 0000000..64c9530
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/LumexUI.Blazor.Benchmark.Client.csproj
@@ -0,0 +1,26 @@
+
+
+	
+		net9.0
+		enable
+		enable
+		true
+		true
+	
+
+	
+		
+		
+		
+	
+
+	
+		
+		
+	
+
+	
+		
+	
+
+
diff --git a/LumexUI.Blazor.Benchmark/Client/MainLayout.razor b/LumexUI.Blazor.Benchmark/Client/MainLayout.razor
new file mode 100644
index 0000000..c884d10
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/MainLayout.razor
@@ -0,0 +1,7 @@
+@inherits LayoutComponentBase
+
+
+    @Body
+
+
+
diff --git a/LumexUI.Blazor.Benchmark/Client/Pages/Index.razor b/LumexUI.Blazor.Benchmark/Client/Pages/Index.razor
new file mode 100644
index 0000000..183a838
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/Pages/Index.razor
@@ -0,0 +1,28 @@
+@page "/"
+
+
+    @($"Counter: {counter}")
+    
+    
+
+    A Label for An Input
+    
+
+
+
+
+@code {
+    int counter;
+
+    void IncreaseCounter()
+    {
+        counter++;
+    }
+}
\ No newline at end of file
diff --git a/LumexUI.Blazor.Benchmark/Client/Program.cs b/LumexUI.Blazor.Benchmark/Client/Program.cs
new file mode 100644
index 0000000..1d25ff6
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/Program.cs
@@ -0,0 +1,13 @@
+using LumexUI.Blazor.Benchmark.Client;
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
+using LumexUI.Extensions;
+
+var builder = WebAssemblyHostBuilder.CreateDefault(args);
+
+builder.RootComponents.Add("#app");
+builder.RootComponents.Add("head::after");
+
+builder.Services.AddLumexServices();
+
+await builder.Build().RunAsync();
diff --git a/LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json b/LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json
new file mode 100644
index 0000000..097aa69
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/Properties/launchSettings.json
@@ -0,0 +1,12 @@
+{
+  "profiles": {
+    "LumexUI.Blazor.Benchmark.Client": {
+      "commandName": "Project",
+      "launchBrowser": true,
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      },
+      "applicationUrl": "https://localhost:52438;http://localhost:52439"
+    }
+  }
+}
\ No newline at end of file
diff --git a/LumexUI.Blazor.Benchmark/Client/_Imports.razor b/LumexUI.Blazor.Benchmark/Client/_Imports.razor
new file mode 100644
index 0000000..b9fc291
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/_Imports.razor
@@ -0,0 +1,9 @@
+@using System.Net.Http
+@using System.Net.Http.Json
+@using Microsoft.AspNetCore.Components.Routing
+@using Microsoft.AspNetCore.Components.Web
+@using Microsoft.AspNetCore.Components.WebAssembly.Http
+@using Microsoft.JSInterop
+@using LumexUI.Blazor.Benchmark.Client
+@using LumexUI
+@using LumexUI.Common
\ No newline at end of file
diff --git a/LumexUI.Blazor.Benchmark/Client/tailwindcss.exe b/LumexUI.Blazor.Benchmark/Client/tailwindcss.exe
new file mode 100644
index 0000000..398de02
Binary files /dev/null and b/LumexUI.Blazor.Benchmark/Client/tailwindcss.exe differ
diff --git a/LumexUI.Blazor.Benchmark/Client/wwwroot/index.html b/LumexUI.Blazor.Benchmark/Client/wwwroot/index.html
new file mode 100644
index 0000000..1a8a4d2
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Client/wwwroot/index.html
@@ -0,0 +1,16 @@
+
+
+
+
+    
+    LumexUI.Blazor.Benchmark
+    
+    
+
+
+
+    Loading...
+    
+    
+
+
diff --git a/LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj b/LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj
new file mode 100644
index 0000000..35b2407
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Server/LumexUI.Blazor.Benchmark.Server.csproj
@@ -0,0 +1,17 @@
+
+
+  
+    net9.0
+    enable
+    enable
+  
+
+  
+    
+  
+
+  
+    
+  
+
+
diff --git a/LumexUI.Blazor.Benchmark/Server/Program.cs b/LumexUI.Blazor.Benchmark/Server/Program.cs
new file mode 100644
index 0000000..f52ac6a
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Server/Program.cs
@@ -0,0 +1,45 @@
+using Microsoft.AspNetCore.ResponseCompression;
+using System.IO.Compression;
+
+var builder = WebApplication.CreateBuilder(args);
+
+builder.Services.AddRazorPages();
+
+builder.Services.AddResponseCompression(opts =>
+{
+    opts.EnableForHttps = true;
+    opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[]
+    {
+        "application/octet-stream"
+    }).ToArray();
+    opts.Providers.Add();
+    opts.Providers.Add();
+})
+    .Configure(opt => opt.Level = CompressionLevel.Fastest)
+    .Configure(opt => opt.Level = CompressionLevel.Fastest);
+
+var app = builder.Build();
+
+if (app.Environment.IsDevelopment())
+{
+    app.UseWebAssemblyDebugging();
+}
+else
+{
+    app.UseHsts();
+}
+
+app.UseHttpsRedirection();
+if (app.Environment.IsProduction() || true)
+{
+    app.UseResponseCompression();
+}
+app.UseBlazorFrameworkFiles();
+app.MapStaticAssets();
+
+app.UseRouting();
+
+app.MapRazorPages();
+app.MapFallbackToFile("index.html");
+
+app.Run();
diff --git a/LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json b/LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json
new file mode 100644
index 0000000..5a03c1f
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Server/Properties/launchSettings.json
@@ -0,0 +1,14 @@
+{
+  "profiles": {
+    "https": {
+      "commandName": "Project",
+      "launchBrowser": true,
+      "environmentVariables": {
+        "ASPNETCORE_ENVIRONMENT": "Development"
+      },
+      "dotnetRunMessages": true,
+      "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}",
+      "applicationUrl": "https://localhost:7012;http://localhost:5249"
+    }
+  }
+}
\ No newline at end of file
diff --git a/LumexUI.Blazor.Benchmark/Server/appsettings.Development.json b/LumexUI.Blazor.Benchmark/Server/appsettings.Development.json
new file mode 100644
index 0000000..0c208ae
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Server/appsettings.Development.json
@@ -0,0 +1,8 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  }
+}
diff --git a/LumexUI.Blazor.Benchmark/Server/appsettings.json b/LumexUI.Blazor.Benchmark/Server/appsettings.json
new file mode 100644
index 0000000..10f68b8
--- /dev/null
+++ b/LumexUI.Blazor.Benchmark/Server/appsettings.json
@@ -0,0 +1,9 @@
+{
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  },
+  "AllowedHosts": "*"
+}
diff --git a/README.md b/README.md
index 7af373f..e410d6d 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@ The table below provides an overview of the file sizes of various popular Blazor
 | [**MudBlazor**](https://mudblazor.com/)                         | 2.0 MB    | +0.5 MB  |
 | [**Microsoft FluentUI**](https://fluentui-blazor.net/)          | 2.0 MB    | +0.5 MB  |
 | [**MatBlazor**](https://matblazor.com/)						  | 2.1 MB    | +0.6 MB  |
+| [**LumexUI**](https://lumexui.org/)							  | 2.5 MB    | +1.0 MB  |
 | [**Blazorise**](https://blazorise.com/)                         | 3.1 MB    | +1.6 MB  |
 | [**Ant Design**](https://antblazor.com/)                        | 3.6 MB    | +2.1 MB  |
 | [**Syncfusion**](https://syncfusion.com/blazor-components/)	  | 4.3 MB    | +2.8 MB  |