diff --git a/SaveTranscriptions.m b/SaveTranscriptions.m
index 10fba75f4d1c4ba25adf997e10c669c7c81e90b3..edf9b48446eee47aa8c2f447253dddf5839303a8 100644
--- a/SaveTranscriptions.m
+++ b/SaveTranscriptions.m
@@ -1,23 +1,30 @@
+clearvars -except ls lss remainingFiles
+
 %% For testing
-load('C:\Users\chris\Box\Nelson Lab Data\Other Data\NTAud Transcription\Transcript_OrigAudio_AudSentStim.mat', 'lss');
-test = load('C:\Users\chris\Box\Nelson Lab Data\Other Data\NTAud Transcription\Transcript_Version2_AudSent.mat');
-ls = test.lss;
+% load('C:\Users\chris\Box\Nelson Lab Data\Other Data\NTAud Transcription\Transcript_OrigAudio_AudSentStim.mat', 'lss');
+% test = load('C:\Users\chris\Box\Nelson Lab Data\Other Data\NTAud Transcription\Transcript_Version2_AudSent.mat');
+% ls = test.lss;
+
+testpos = 6;
+resetLabelValues(lss, testpos)
+setLabelValue(lss, testpos, 'Words', ls.Labels.Words{testpos}.ROILimits, ls.Labels.Words{testpos}.Value)
 
 %% Main code
 % Search the workspace for ls and lss and check for the tracker
-if ~ValidWorkspace(ls, lss); return; end
+if ~ValidateWorkspace(ls, lss); return; end
 
 % Update progress
-    % Compare ls and lss roi and values
+if ~exist('remainingFiles', 'var'); remainingFiles = []; end
+remainingFiles = FindRemainingFiles(ls, lss, remainingFiles);
 
 % Transfer labels
 lss = TransferLabels(ls, lss);
 
-% Save lss and progress
-    % use uiget element to select save location
+% Save latest transcription and progress
+uisave({'lss', 'remainingFiles'}, 'lss.mat')
 
 %% Functions
-function extStatus = ValidWorkspace(ls, lss)
+function extStatus = ValidateWorkspace(ls, lss)
 
 if ~exist("ls", "var")
     fprintf(2, 'No exported transcript found. Please export your transciription to the work space as ''ls''\n')
@@ -35,6 +42,30 @@ extStatus = true;
 
 end
 
+function remainingFiles = FindRemainingFiles(ls, lss, remainingFiles)
+
+% Find identical labels
+nFiles = lss.NumMembers;
+isUntouched = false(nFiles, 1);
+for i = 1:nFiles
+    isUntouched(i) = isequal(ls.Labels.Words{i}, lss.Labels.Words{i});
+end
+
+% Account for previosuly edited files
+if ~isempty(remainingFiles)
+    wasPreviouslyUntouched = ~ismember(1:nFiles, remainingFiles.File_Pos);
+    isUntouched(wasPreviouslyUntouched) = false;
+end
+
+% Prepare output
+File_Pos = find(isUntouched);
+memberNames = ls.getMemberNames;
+File_Name = memberNames(isUntouched);
+remainingFiles = table(File_Pos, File_Name);
+
+% could always print out a nice little status msg to encourage the user
+end
+
 function lss = TransferLabels(ls, lss)
 
 % Clear lss labels