diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index e2520d338f9ebcc131dcc292bbe62d08e8351b53..913bf6133bba835a96e91937a4e869683b69ec33 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -4,6 +4,7 @@
 
 	1
 	-porn system overhaul
+	-added ability to track true virgins
 
 0.10.7.1-0.4.x
 
diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt
index 491da5552db43bcd0e924b32d56077e34f9ffb5f..bb8567b50a1d82b283cce2a755344ea5fc3adf80 100644
--- a/devNotes/twine JS.txt	
+++ b/devNotes/twine JS.txt	
@@ -23046,3 +23046,120 @@ window.removeActiveSlave = function removeActiveSlave() {
 		}
 	}
 };
+
+/*:: SA porn JS [script]*/
+
+/* to later be rolled into saPorn */
+
+window.getHighestPorn = function(slave) {
+
+	var max = {value: 0, type: "none"};
+	
+	if(slave.pornTypeGeneral > max.value){
+		max = {value: slave.pornTypeGeneral, type: "generic"};
+	}
+	if(slave.pornTypeFuckdoll > max.value){
+		max = {value: slave.pornTypeFuckdoll, type: "fuckdoll"};
+	}
+	if(slave.pornTypeRape > max.value){
+		max = {value: slave.pornTypeRape, type: "rape"};
+	}
+	if(slave.pornTypePreggo > max.value){
+		max = {value: slave.pornTypePreggo, type: "preggo"};
+	}
+	if(slave.pornTypeBBW > max.value){
+		max = {value: slave.pornTypeBBW, type: "BBW"};
+	}
+	if(slave.pornTypeGainer > max.value){
+		max = {value: slave.pornTypeGainer, type: "weight gain"};
+	}
+	if(slave.pornTypeStud > max.value){
+		max = {value: slave.pornTypeStud, type: "big dick"};
+	}
+	if(slave.pornTypeLoli > max.value){
+		max = {value: slave.pornTypeLoli, type: "underage"};
+	}
+	if(slave.pornTypeDeepThroat > max.value){
+		max = {value: slave.pornTypeDeepThroat, type: "deepthroat"};
+	}
+	if(slave.pornTypeStruggleFuck > max.value){
+		max = {value: slave.pornTypeStruggleFuck, type: "unwilling"};
+	}
+	if(slave.pornTypePainal > max.value){
+		max = {value: slave.pornTypePainal, type: "hardcore anal"};
+	}
+	if(slave.pornTypeTease > max.value){
+		max = {value: slave.pornTypeTease, type: "softcore"};
+	}
+	if(slave.pornTypeRomantic > max.value){
+		max = {value: slave.pornTypeRomantic, type: "romantic"};
+	}
+	if(slave.pornTypePervert > max.value){
+		max = {value: slave.pornTypePervert, type: "really perverted"};
+	}
+	if(slave.pornTypeCaring > max.value){
+		max = {value: slave.pornTypeCaring, type: "voyeur"};
+	}
+	if(slave.pornTypeUnflinching > max.value){
+		max = {value: slave.pornTypeUnflinching, type: "unspeakable"};
+	}
+	if(slave.pornTypeSizeQueen > max.value){
+		max = {value: slave.pornTypeSizeQueen, type: "huge insertion"};
+	}
+	if(slave.pornTypeNeglectful > max.value){
+		max = {value: slave.pornTypeNeglectful, type: "orgasm denial"};
+	}
+	if(slave.pornTypeCumAddict > max.value){
+		max = {value: slave.pornTypeCumAddict, type: "cum addiction"};
+	}
+	if(slave.pornTypeAnalAddict > max.value){
+		max = {value: slave.pornTypeAnalAddict, type: "anal addiction"};
+	}
+	if(slave.pornTypeAttentionWhore > max.value){
+		max = {value: slave.pornTypeAttentionWhore, type: "exhibition"};
+	}
+	if(slave.pornTypeBreastGrowth > max.value){
+		max = {value: slave.pornTypeBreastGrowth, type: "breast expansion"};
+	}
+	if(slave.pornTypeAbusive > max.value){
+		max = {value: slave.pornTypeAbusive, type: "abuse"};
+	}
+	if(slave.pornTypeMalicious > max.value){
+		max = {value: slave.pornTypeMalicious, type: "sexual torture"};
+	}
+	if(slave.pornTypeSelfHating > max.value){
+		max = {value: slave.pornTypeSelfHating, type: "self hating"};
+	}
+	if(slave.pornTypeBreeder > max.value){
+		max = {value: slave.pornTypeBreeder, type: "breeder"};
+	}
+	if(slave.pornTypeSub > max.value){
+		max = {value: slave.pornTypeSub, type: "submissive"};
+	}
+	if(slave.pornTypeCumSlut > max.value){
+		max = {value: slave.pornTypeCumSlut, type: "cum"};
+	}
+	if(slave.pornTypeAnal > max.value){
+		max = {value: slave.pornTypeAnal, type: "buttslut"};
+	}
+	if(slave.pornTypeHumiliation > max.value){
+		max = {value: slave.pornTypeHumiliation, type: "humiliating"};
+	}
+	if(slave.pornTypeBoobs > max.value){
+		max = {value: slave.pornTypeBoobs, type: "breast"};
+	}
+	if(slave.pornTypeDom > max.value){
+		max = {value: slave.pornTypeDom, type: "dominant"};
+	}
+	if(slave.pornTypeSadist > max.value){
+		max = {value: slave.pornTypeSadist, type: "sadistic"};
+	}
+	if(slave.pornTypeMasochist > max.value){
+		max = {value: slave.pornTypeMasochist, type: "masochistic"};
+	}
+	if(slave.pornTypePregnancy > max.value){
+		max = {value: slave.pornTypePregnancy, type: "pregnancy fetish"};
+	}
+	
+	return max;
+}
\ No newline at end of file