diff --git a/SoftwareTests/SmokeTests.m b/SoftwareTests/SmokeTests.m
index 47dfa1d..8867307 100644
--- a/SoftwareTests/SmokeTests.m
+++ b/SoftwareTests/SmokeTests.m
@@ -1,76 +1,72 @@
+% Run these tests with runMyTests
+% All tests so far are on code expected to run without errors
+% If/when we end up with a version that _should_ error, 
+% please add it to this set of examples
 classdef SmokeTests < matlab.unittest.TestCase
     
-    properties (ClassSetupParameter)
-        Project = {''};
+    properties
+        rootProject
+        results
     end
 
-    properties (TestParameter)
-        Scripts;
-    end
-
-    methods (TestParameterDefinition,Static)
 
-        function Scripts = GetScriptName(Project)
-            RootFolder = currentProject().RootFolder;
-            Scripts = dir(fullfile(RootFolder,"Scripts","*.mlx"));
-            Scripts = {Scripts.name};
-        end
+     methods (TestClassSetup)
 
-    end
-
-    methods (TestClassSetup)
-
-        function SetUpSmokeTest(testCase,Project)
+        function setUpPath(testCase)
+            
             try
-               currentProject;  
-            catch ME
-                warning("Project is not loaded.")
+                project = currentProject;
+                testCase.rootProject = project.RootFolder;
+                cd(testCase.rootProject)
+            catch
+                error("Load project prior to run tests")
             end
-        end
-
-    
-    end
-
-
-    
-    methods(Test)
-
-        function SmokeRun(testCase,Scripts)
-            Filename = string(Scripts);
-            switch (Filename)
-                otherwise
-                    SimpleSmokeTest(testCase,Filename)
-            end
-        end
             
-    end
+            testCase.log("Running in " + version)
+
+        end % function setUpPath
+
+        function setUpResults(testCase)
+            files = dir(fullfile(testCase.rootProject,"Scripts","*.mlx"));
+            testCase.results = struct;
+            testCase.results.Name = strings(size(files));
+            testCase.results.Passed = false(size(files));
+            testCase.results.Time = zeros(size(files));
+            testCase.results.Message = strings(size(files));
+            for k = 1:length(files)
+                testCase.results.Name(k) = string(files(k).name);
+            end
 
+        end % function setUpResults
 
-    methods (Access = private)
+    end % methods (TestClassSetup)
 
-        function SimpleSmokeTest(testCase,Filename)
+    methods(Test)
 
-            % Run the Smoke test
-            RootFolder = currentProject().RootFolder;
-            cd(RootFolder)
-            disp(">> Running " + Filename);
-            try
-                run(fullfile("Scripts",Filename));
-            catch ME
-                testCase.verifyTrue(false,ME.message);
-            end
-            
-            % Log the opened figures to the test reports
-            Figures = findall(groot,'Type','figure');
-            Figures = flipud(Figures);
-            if ~isempty(Figures)
-                for f = 1:size(Figures,1)
-                    FigDiag = matlab.unittest.diagnostics.FigureDiagnostic(Figures(f));
-                    log(testCase,1,FigDiag);
+        function smokeTest(testCase)
+            myFiles = testCase.results.Name;
+            fid = fopen(fullfile("SoftwareTests","TestResults_"+release_version+".txt"),"w");
+            fprintf(fid,"Version,File,Status,ElapsedTime\n");
+            for kTest = 1:length(myFiles)
+                try
+                    disp("Running " + myFiles(kTest))
+                    tic
+                    run(myFiles(kTest))
+                    testCase.results.Time(kTest) = toc;
+                    disp("Finished " + myFiles(kTest))
+                    testCase.results.Passed(kTest) = true;
+                    fprintf(fid,"%s,%s,%s,%s\n",release_version,myFiles(kTest),"passed",testCase.results.Time(kTest));
+                catch ME
+                    testCase.results.Time(kTest) = toc;
+                    disp("Failed " + myFiles(kTest) + " because " + ...
+                        newline + ME.message)
+                    testCase.results.Message(kTest) = ME.message;
+                    fprintf(fid,"%s,%s,%s,%s\n",release_version,myFiles(kTest),"failed",testCase.results.Time(kTest));
                 end
+                clearvars -except kTest testCase myFiles fid
             end
-            close all
-
+            fclose(fid);
+            struct2table(testCase.results)
         end
 
     end
@@ -84,4 +80,4 @@ function closeAllFigure(testCase)
 
     end % methods (TestClassTeardown)
 
-end
\ No newline at end of file
+end