diff --git a/ATxDiagnostics/ATxDiagnostics.cs b/ATxDiagnostics/ATxDiagnostics.cs
index 7f1c72586c8f0eea9cde9b9ce90ebb7474ecd06c..0d10ae857f35b453ecd24a92a9ab9fc5b94efd46 100644
--- a/ATxDiagnostics/ATxDiagnostics.cs
+++ b/ATxDiagnostics/ATxDiagnostics.cs
@@ -1,4 +1,5 @@
 using System;
+using System.Management;
 using ATxCommon;
 using NLog;
 using NLog.Config;
@@ -15,13 +16,59 @@ namespace ATxDiagnostics
             var logTargetConsole = new ConsoleTarget {
                 Name = "console",
                 Header = "test-header",
+                Layout = @"${date:format=yyyy-MM-dd HH\:mm\:ss} [${level}] (${logger}) ${message}",
             };
             logConfig.AddTarget(logTargetConsole);
             var logRuleConsole = new LoggingRule("*", LogLevel.Trace, logTargetConsole);
             logConfig.LoggingRules.Add(logRuleConsole);
             LogManager.Configuration = logConfig;
 
-            Console.WriteLine(SystemChecks.WmiSummary());
+            Log.Debug(Conv.BytesToString(SystemChecks.GetFreeDriveSpace("C:")));
+            /*
+            Log.Debug(SystemChecks.GetCpuUsage());
+            Log.Debug(SystemChecks.GetCpuUsage());
+            Log.Debug(SystemChecks.GetCpuUsage());
+            Log.Debug(SystemChecks.GetCpuUsage());
+            Log.Debug(SystemChecks.GetCpuUsage());
+            Log.Debug(SystemChecks.GetCpuUsage());
+            */
+            Log.Debug(QueryCpuLoad());
+        }
+
+        private static int QueryCpuLoad() {
+            Log.Trace("Querying WMI for CPU load...");
+            var searcher = new ManagementObjectSearcher(
+                "root\\CIMV2",
+                "select Name, PercentProcessorTime from Win32_PerfFormattedData_PerfOS_Processor",
+                new EnumerationOptions {
+                    Timeout = new TimeSpan(0, 0, 10),
+                    ReturnImmediately = false,
+                }
+                );
+            Int32 usageInt32 = -1;
+
+
+            var managementObjects = searcher.Get();
+            Log.Trace("WMI query returned {0} objects.", managementObjects.Count);
+            foreach (var mo in managementObjects) {
+                var obj = (ManagementObject)mo;
+                var usage = obj["PercentProcessorTime"];
+                var name = obj["Name"];
+                    
+                usageInt32 = Convert.ToInt32(usage);
+                Log.Trace("CPU usage {1}: {0}", usageInt32, name);
+
+                //if (name.ToString().Equals("_Total")) {
+                //    usageInt32 = Convert.ToInt32(usage);
+                //    Log.Trace("CPU usage: {0}", usageInt32);
+                //}
+
+            }
+
+            managementObjects.Dispose();
+            searcher.Dispose();
+
+            return usageInt32;
         }
     }
 }
diff --git a/ATxDiagnostics/ATxDiagnostics.csproj b/ATxDiagnostics/ATxDiagnostics.csproj
index d234b10637df3f7d86a27927ae4337bd1a6e9e94..f38bdad9f7ececdffb82461455351352f2d6c13d 100644
--- a/ATxDiagnostics/ATxDiagnostics.csproj
+++ b/ATxDiagnostics/ATxDiagnostics.csproj
@@ -44,6 +44,7 @@
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Core" />
+    <Reference Include="System.Management" />
     <Reference Include="System.Xml.Linq" />
     <Reference Include="System.Data.DataSetExtensions" />
     <Reference Include="Microsoft.CSharp" />