diff --git a/devNotes/VersionChangeLog-Premod+LoliMod.txt b/devNotes/VersionChangeLog-Premod+LoliMod.txt
index 04b8beaa85ddfb4787822845350a3dfc299442ab..5f1811486a889bf220afac20fa31a35b115e3f8c 100644
--- a/devNotes/VersionChangeLog-Premod+LoliMod.txt
+++ b/devNotes/VersionChangeLog-Premod+LoliMod.txt
@@ -2,6 +2,12 @@
 
 0.10.7.0/1
 
+2/23/18
+	
+	365
+	-SFanon's player hacking skill (basic implementation)
+	Still more to come with it.
+
 2/22/18
 	
 	364
diff --git a/devNotes/twine JS b/devNotes/twine JS
index 03063268906a6de0a79731222eb64db1489b1027..7cd81877382da04b08ffb79675ef9b16befb4511 100644
--- a/devNotes/twine JS	
+++ b/devNotes/twine JS	
@@ -1776,7 +1776,7 @@ window.Job = Object.freeze({
 	SERVANT: 'work as a servant', SERVER: 'be a servant', STEWARD: 'be the Stewardess', CLUB: 'serve in the club', DJ: 'be the DJ',
 	JAIL: 'be confined in the cellblock', WARDEN: 'be the Wardeness', CLINIC: 'get treatment in the clinic', NURSE: 'be the Nurse',
 	HGTOY: 'live with your Head Girl', SCHOOL: 'learn in the schoolroom', TEACHER: 'be the Schoolteacher', SPA: 'rest in the spa', ATTEND: 'be the Attendant'});
-window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVEING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep'});
+window.PersonalAttention = Object.freeze({TRADE: 'trading', WAR: 'warfare', SLAVEING: 'slaving', ENGINEERING: 'engineering', MEDICINE: 'medicine', MAID: 'upkeep', HACKING: 'hacking'});
 
 window.getCost = function(array) {
 	var rulesCost = State.variables.rulesCost;
@@ -2038,6 +2038,8 @@ window.getCost = function(array) {
 		costs += 10000*State.variables.AgeEffectOnTrainerPricingPC;
 	} else if(State.variables.personalAttention === PersonalAttention.MEDICINE) {
 		costs += 10000*State.variables.AgeEffectOnTrainerPricingPC;
+	} else if(State.variables.personalAttention === PersonalAttention.HACKING) {
+			costs += 10000*State.variables.AgeEffectOnTrainerPricingPC;
 	}
 	}
 
diff --git a/src/SecExp/propagandaHub.tw b/src/SecExp/propagandaHub.tw
index 67abe79d7d4d2a1212f8ebae4aa366320aaee622..831964839f9e3126170032f63d7ef2f9bd6c38e9 100644
--- a/src/SecExp/propagandaHub.tw
+++ b/src/SecExp/propagandaHub.tw
@@ -1,4 +1,5 @@
 :: propagandaHub [nobr]
+
 <<HSM>>
 <<if $career == "capitalist" || $career == "celebrity" || $career == "wealth">>
 	<<set _HistoryDiscount = .5>>
@@ -80,12 +81,12 @@ The propaganda hub is a surprisingly inconspicuous building, dimly lit from the
 		<<link "Invest more resources in the propaganda machine">>
 			<<set $propCampaign += 1>>
 			<<set $cash -= 5000 * $upgradeMultiplierArcology * ($propCampaign + 1) * _HistoryDiscount*$HackingSkillMultiplier>>
-			<<set $PC.engineering += 1, $PC.hacking += 1>>
+			<<set $PC.hacking += .5>>
 			<<set $propHubUpkeep += $upgradeUpkeep>>
 			<<goto "propagandaHub">>
 		<</link>>
 		<br>Invest more resources into the project to increase its effectiveness.
-		<br>//Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierArcology * ($propCampaign + 1) * _HistoryDiscount*$HackingSkillMultiplier))>>. Will provide more of the focused resource each week, will increase reputation upkeep.//
+		<br>//Costs <<print cashFormat(Math.trunc(5000 * $upgradeMultiplierArcology * ($propCampaign + 1) * _HistoryDiscount*$HackingSkillMultiplier))>>. Will provide more of the focused resource each week but increase reputation upkeep.//
 	<<else>>
 		You upgraded your propaganda machine to its limits.
 	<</if>>
diff --git a/src/SecExp/riotControlCenter.tw b/src/SecExp/riotControlCenter.tw
index 7b638b31eee08bc6a80d65d45f0a3529d0ea9501..9ee877018b8f45023d66ca7d7000b13acb6ec011 100644
--- a/src/SecExp/riotControlCenter.tw
+++ b/src/SecExp/riotControlCenter.tw
@@ -1,4 +1,5 @@
 :: riotControlCenter [nobr]
+
 <<HSM>>
 <<set $nextButton = "Back to Arcology Management", $nextLink = "Manage Arcology", $returnTo = "Manage Arcology">>
 
@@ -25,7 +26,7 @@ The riot control center opens its guarded doors to you. The great chamber inside
 		<<link "Invest more resources in the free media project">>
 			<<set $riotUpgrades.freeMedia += 1>>
 			<<set $cash -= ((5000 * $upgradeMultiplierArcology * ($riotUpgrades.freeMedia + 1)*$HackingSkillMultiplier))>>
-			<<set $PC.engineering += 1, $PC.hacking += 1>>
+			<<set $PC.hacking += .5>>
 			<<set $riotUpkeep += $upgradeUpkeep>>
 			<<goto "riotControlCenter">>
 		<</link>>
@@ -154,7 +155,7 @@ The riot control center opens its guarded doors to you. The great chamber inside
 		<<link "Invest more resources in the brain implant project">>
 			<<set $brainImplantProject += 1>>
 			<<set $cash -= 50000 * $upgradeMultiplierArcology * $brainImplantProject*$HackingSkillMultiplier>> 
-			<<set $PC.engineering += 1, $PC.hacking += 1>>
+			<<set $PC.hacking += 1>>
 			<<set $riotUpkeep += $upgradeUpkeep * 100>>
 			<<goto "riotControlCenter">>
 		<</link>>
diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw
index 960e39026abb5390ee47af8c18333609d2916524..019775ec2fc2fd5a4b99cc96f5bf7009e9237fcf 100644
--- a/src/SecExp/securityHQ.tw
+++ b/src/SecExp/securityHQ.tw
@@ -1,4 +1,5 @@
 :: securityHQ [nobr]
+
 <<HSM>>
 <<if $career == "mercenary" || $career == "gang" || $career == "slaver">>
 	<<set _HistoryDiscount = .5>>
diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw
index b7bc9ea4c23ac2b496f4c94f11dbe3b3f83ffe28..3a8aee2dca0fbffd2844379c9c814675e9ae0807 100644
--- a/src/SecExp/weaponsManufacturing.tw
+++ b/src/SecExp/weaponsManufacturing.tw
@@ -1,4 +1,5 @@
 :: weaponsManufacturing [nobr]
+
 <<HSM>>
 <<set $nextButton = "Back", $nextLink = "Main">>
 
diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw
index 4d6a5c53ba6314ce6098332999ecadd4d0808ff9..3ff62c9c2e41331ec278f30c96831e905127dc01 100644
--- a/src/events/intro/introSummary.tw
+++ b/src/events/intro/introSummary.tw
@@ -996,11 +996,11 @@ __''Mods''__
 			<<case "arcology owner">>
 				<<set $PC.trading = 100, $PC.warfare = 100, $PC.hacking = 100, $PC.slaving = 100, $PC.engineering = 100, $PC.medicine = 100>>
 			<<case "escort">>
-				<<set $PC.trading = 50, $PC.warfare = -100, $PC.slaving = -100, $PC.engineering = -100, $PC.medicine = 10>>
+				<<set $PC.trading = 50, $PC.warfare = -100, $PC.slaving = -100, $PC.engineering = -100, $PC.medicine = 10, $PC.hacking = 10>>
 			<<case "servant">>
-				<<set $PC.trading = -100, $PC.warfare = -100, $PC.slaving = -100, $PC.engineering = -100, $PC.medicine = -100>>
+				<<set $PC.trading = -100, $PC.warfare = -100, $PC.slaving = -100, $PC.engineering = -100, $PC.medicine = -100, $PC.hacking = -100>>
 			<<case "gang">>
-				<<set $PC.trading = 50, $PC.warfare = 50, $PC.slaving = 50, $PC.engineering = -100, $PC.medicine = 0>>
+				<<set $PC.trading = 50, $PC.warfare = 50, $PC.slaving = 50, $PC.engineering = -100, $PC.medicine = 0, $PC.hacking = 50>>
 		<</switch>>
 	<</if>>
 	<<if $saveImported == 1 && $freshPC == 0 && $girls < 3>>
@@ -1021,4 +1021,4 @@ __''Mods''__
 <</if>>
 
 <br><br>
-[[Cheat Start|init Nationalities][$cash += 1000000,$girls = 3,$rep += 10000,$dojo += 1,$cheatMode = 1,$seeDesk = 0, $seeFCNN = 0, $sortSlavesBy = "devotion",$sortSlavesOrder = "descending",$sortSlavesMain = 0,$rulesAssistantMain = 1,$abbreviateDevotion = 1,$abbreviateRules = 1,$abbreviateClothes = 2,$abbreviateHealth = 1,$abbreviateDiet = 1,$abbreviateDrugs = 1,$abbreviateRace = 1,$abbreviateNationality = 1,$abbreviateGenitalia = 1,$abbreviatePhysicals = 1,$abbreviateSkills = 1,$abbreviateMental = 2,$PC.trading = 100,$PC.warfare = 100,$PC.slaving = 100,$PC.engineering = 100,$PC.medicine = 100]] | //Intended for debugging: may have unexpected effects//
+[[Cheat Start|init Nationalities][$cash += 1000000,$girls = 3,$rep += 10000,$dojo += 1,$cheatMode = 1,$seeDesk = 0, $seeFCNN = 0, $sortSlavesBy = "devotion",$sortSlavesOrder = "descending",$sortSlavesMain = 0,$rulesAssistantMain = 1,$abbreviateDevotion = 1,$abbreviateRules = 1,$abbreviateClothes = 2,$abbreviateHealth = 1,$abbreviateDiet = 1,$abbreviateDrugs = 1,$abbreviateRace = 1,$abbreviateNationality = 1,$abbreviateGenitalia = 1,$abbreviatePhysicals = 1,$abbreviateSkills = 1,$abbreviateMental = 2,$PC.trading = 100,$PC.warfare = 100,$PC.slaving = 100,$PC.engineering = 100,$PC.medicine = 100,$PC.hacking = 100]] | //Intended for debugging: may have unexpected effects//
diff --git a/src/init/storyInit.tw b/src/init/storyInit.tw
index 989dcb078687690ee78dbac9f5b7126401d9a963..69a6a139d348ea4745b1ca9a2a667457bd5009aa 100644
--- a/src/init/storyInit.tw
+++ b/src/init/storyInit.tw
@@ -369,7 +369,6 @@ You should have received a copy of the GNU General Public License along with thi
 		<<initPC>>
 		<<set $cheater = 0>>
 		<<set $cash = 10000>>
-
 	<</if>>
 
 <</if>>
diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index c49e54f864688e80cb05ed97a1798f16fd8e8f22..05ef37813e2f13f7036b17a7028e4c48862d32ce 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1,7 +1,7 @@
 :: pregmod widgets [nobr widget]
 
 <<widget "initPC">>
-	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35}>>
+	<<set $PC = {name: "Anonymous", surname: 0, title: 1, ID: -1, dick: 1, vagina: 0, preg: 0, pregType: 0, pregWeek: 0, pregKnown: 0, belly: 0, bellyPreg: 0, mpreg: 0, pregSource: 0, pregMood: 0, labor: 0, births: 0, boobsBonus: 0, degeneracy: 0, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, career: "capitalist", rumor: "wealth", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), age: 2, sexualEnergy: 4, refreshment: "cigar", refreshmentType: 0, trading: 0, warfare: 0, slaving: 0, engineering: 0, medicine: 0, hacking: 0, cumTap: 0, race: "white", origRace: "white", skin: "white", origSkin: "white", markings: "none", eyeColor: "blue", origEye: "blue", hColor: "blonde", origHColor: "blonde", nationality: "Stateless", father: 0, mother: 0, sisters: 0, daughters: 0, birthElite: 0, birthMaster: 0, birthDegenerate: 0, birthClient: 0, birthOther: 0, birthArcOwner: 0, birthCitizen: 0, birthSelf: 0, slavesFathered: 0, slavesKnockedUp: 0, intelligence: 3, face: 100, actualAge: 35, physicalAge: 35, visualAge: 35, birthWeek: 0, boobsImplant: 0, butt: 0, buttImplant: 0, balls: 0, ballsImplant: 0, ageImplant: 0, newVag: 0, reservedChildren: 0, fertDrugs: 0, forcedFertDrugs: 0, staminaPills: 0, ovaryAge: 35}>>
 
 	<<set WombInit($PC)>>
 
@@ -1924,7 +1924,9 @@ Call as <<HSM>>
 		<<set $HackingSkillMultiplier = 1.25>>
 	<<elseif $PC.hacking <= -25>>
 		<<set $HackingSkillMultiplier = 1.15>>
-	<<elseif $PC.hacking == 0>>
+	<<elseif $PC.hacking < 0>>
+		<<set $HackingSkillMultiplier = 1.10>>
+	<<elseif $PC.hacking <= 10>>
 		<<set $HackingSkillMultiplier = 1>>
 	<<elseif $PC.hacking <= 25>>
 		<<set $HackingSkillMultiplier = .95>>
@@ -1932,6 +1934,8 @@ Call as <<HSM>>
 		<<set $HackingSkillMultiplier = .75>>
 	<<elseif $PC.hacking <= 75>>
 		<<set $HackingSkillMultiplier = .65>>
+	<<elseif $PC.hacking < 100>>
+		<<set $HackingSkillMultiplier = .6>>
 	<<elseif $PC.hacking >= 100>>
 		<<set $HackingSkillMultiplier = .5>>
 	<</if>>
diff --git a/src/uncategorized/endWeek.tw b/src/uncategorized/endWeek.tw
index 66772dfc1ae96a0e762444421fc3b9c71e40926e..aa72244016fae0fe0313db62f6effb1bc7945f4e 100644
--- a/src/uncategorized/endWeek.tw
+++ b/src/uncategorized/endWeek.tw
@@ -21,6 +21,7 @@
 <<if $sexualOpeness == 1>>
 	<<set $penetrativeUseWeight++>>
 <</if>>
+<<HSM>>
 
 <<for _i = 0; _i < $slaves.length; _i++>>
 	<<if $slaves[_i].inflationMethod == 1 || $slaves[_i].inflationMethod == 2>>
diff --git a/src/uncategorized/manageArcology.tw b/src/uncategorized/manageArcology.tw
index 77644345d116bd68438189ae95441b002ae45267..593ecd46ebdba819756a4539f302aa75b2a49e10 100644
--- a/src/uncategorized/manageArcology.tw
+++ b/src/uncategorized/manageArcology.tw
@@ -1,4 +1,5 @@
 :: Manage Arcology [nobr]
+
 <<HSM>>
 <<set $nextButton = "Back", $nextLink = "Main">>
 
@@ -73,7 +74,7 @@ __Construction__
 <br>
 
 <<if ($receiverAvailable == 1) && ($FCTVenable != 0) && ($FCTVreceiver == 0)>>
-    You have not installed an FCTV receiver. Installing this receiver yourself will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>. You can have your citizens pay for the fiberoptic upgrades, reducing the cost to <<print cashFormat(Math.trunc((20000*$upgradeMultiplierArcology))>>. You can also have them heavily subsidize installation, they will be upset about it, but it will only cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>.
+    You have not installed an FCTV receiver. Installing this receiver yourself will cost <<print cashFormat(Math.trunc(25000*$upgradeMultiplierArcology))>>. You can have your citizens pay for the fiberoptic upgrades, reducing the cost to <<print cashFormat(Math.trunc(20000*$upgradeMultiplierArcology))>>. You can also have them heavily subsidize installation, they will be upset about it, but it will only cost <<print cashFormat(Math.trunc(10000*$upgradeMultiplierArcology))>>.
     [[No subsidy|Manage Arcology][$cash -= Math.trunc(25000*$upgradeMultiplierArcology), $FCTVreceiver = 1, $receiverAvailable = $week, $rep += 500, $PC.engineering += 1]] | [[Light subsidy|Manage Arcology][$cash -= Math.trunc(20000*$upgradeMultiplierArcology), $FCTVreceiver = 1, $receiverAvailable = $week, $PC.engineering += 1]] | [[Heavy subsidy|Manage Arcology][$cash -= Math.trunc(10000*$upgradeMultiplierArcology), $FCTVreceiver = 1, $receiverAvailable = $week, $rep -= 1500, $PC.engineering += 1]]
 <<elseif ($FCTVreceiver == 3)>>
     You have installed the FCTV receiver and have access to the full range of FCTV's programs. High viewership rates amongst your citizens makes it easier to pursue your societal goals.
diff --git a/src/uncategorized/neighborDescription.tw b/src/uncategorized/neighborDescription.tw
index 1504a0584b0cad6529ddc3239361a75c1f46dc47..403220c55f7ea8ced76d2ce385c13a2641bc88ff 100644
--- a/src/uncategorized/neighborDescription.tw
+++ b/src/uncategorized/neighborDescription.tw
@@ -40,7 +40,8 @@ The arcology has an estimated GSP of @@.yellowgreen;<<print cashFormat(Math.trun
 <<else>>
 	behind
 <</if>>
-its neighbors.	
+its neighbors.
+
 <<set $desc = 0>>
 <<set $seed = []>>
 <<if $arcologies[$i].FSSubjugationist != "unset">>
diff --git a/src/uncategorized/newGamePlus.tw b/src/uncategorized/newGamePlus.tw
index 90d02ab3e8a9765910f19d844743eba8e7f2fc27..483dfaccc19aee04c915ca12e82f9088bc13a164 100644
--- a/src/uncategorized/newGamePlus.tw
+++ b/src/uncategorized/newGamePlus.tw
@@ -22,12 +22,14 @@ You have the funds to bring $slavesToImportMax slaves with you (or your equivale
 
 <<if $freshPC == 0>>
 	<<if $retainCareer == 1 && $PC.career != "arcology owner">>
-		<<if $week > 52 || ($PC.slaving >= 100 && $PC.trading >= 100 && $PC.warfare >= 100 && $PC.slaving >= 100 && $PC.engineering >= 100 && $PC.medicine >= 100)>>
+		<<if $week > 52 || ($PC.slaving >= 100 && $PC.trading >= 100 && $PC.warfare >= 100 && $PC.engineering >= 100 && $PC.medicine >= 100 && $PC.hacking >= 100)>>
 			You have acquired a fair amount of knowledge regarding arcologies and their day-to-day management in your time spent as one's owner qualifying you as an @@.orange;"arcology owner"!@@ Benefits include:
-			@@.lime;20% reduced cost of construction.@@
-			@@.lime;Free additional starting rep along with easy rep maintenance.@@
-			@@.lime;Reduced mercenary costs.@@
-			@@.lime;An eye for gingered slaves.@@
+			<br>@@.lime;20% reduced cost of construction.@@
+			<br>@@.lime;Free additional starting rep along with easy rep maintenance.@@
+			<br>@@.lime;Reduced mercenary costs.@@
+			<br>@@.lime;An eye for gingered slaves.@@
+			<br>@@.lime;An edge in all things data.@@
+			<br>
 			<<if $retainCareer == 1>>
 				[[Change career.|New Game Plus][$retainCareer = 0]]
 			<<elseif $retainCareer == 0>>
diff --git a/src/uncategorized/persBusiness.tw b/src/uncategorized/persBusiness.tw
index b9c60266142b02ad6e8a7e273e73898007b2b276..39b119738178831e91e053f70e029e0c118d1555 100644
--- a/src/uncategorized/persBusiness.tw
+++ b/src/uncategorized/persBusiness.tw
@@ -388,7 +388,7 @@
 
 <<if $PCWounded != 1>>
 <<switch $personalAttention>>
-<<case trading>>
+<<case "trading">>
 	<<set _oldSkill = $PC.trading>>
 	<<if _X == 1>>
 		<<set $PC.trading += _Cal>>
@@ -422,7 +422,7 @@
 		<</if>>
 	<</if>>
 
-<<case warfare>>
+<<case "warfare">>
 	<<set _oldSkill = $PC.warfare>>
 	<<if _X == 1>>
 		<<set $PC.warfare += _Cal>>
@@ -456,7 +456,7 @@
 		<</if>>
 	<</if>>
 
-<<case slaving>>
+<<case "slaving">>
 	<<set _oldSkill = $PC.slaving>>
 	<<if _X == 1>>	
 		<<set $PC.slaving += _Cal>>
@@ -490,7 +490,7 @@
 		<</if>>
 	<</if>>
 
-<<case engineering>>
+<<case "engineering">>
 	<<set _oldSkill = $PC.engineering>>
 	<<if _X == 1>>	
 		<<set $PC.engineering += _Cal>>
@@ -524,7 +524,7 @@
 		<</if>>
 	<</if>>
 
-<<case medicine>>
+<<case "medicine">>
 	<<set _oldSkill = $PC.medicine>>
 	<<if _X == 1>>
 		<<set $PC.medicine += _Cal>>
@@ -557,6 +557,41 @@
 			You have made progress towards mastering slave surgery.
 		<</if>>
 	<</if>>
+
+<<case "hacking">>
+	<<set _oldSkill = $PC.hacking>>
+	<<if _X == 1>>	
+		<<set $PC.hacking += _Cal>>
+	<<else>>
+		<<set $PC.hacking -= _Cal>>
+	<</if>>
+	<<if _oldSkill <= 10>>
+		<<if $PC.hacking > 10>>
+			You now have @@.green;basic knowledge@@ about how to hack and manipulate data.
+		<<else>>
+			You have made progress towards a basic knowledge of hacking and data manipulation.
+		<</if>>
+	<<elseif _oldSkill <= 30>>
+		<<if $PC.hacking > 30>>
+			You now have @@.green;some skill@@ as a hacker.
+		<<else>>
+			You have made progress towards being skilled in hacking and data manipulation.
+		<</if>>
+	<<elseif _oldSkill <= 60>>
+		<<if $PC.hacking > 60>>
+			You are now an @@.green;expert hacker.@@
+		<<else>>
+			You have made progress towards being an expert in hacking and data manipulation.
+		<</if>>
+	<<else>>
+		<<if $PC.hacking >= 100>>
+			<<set $personalAttention = "sex">>
+			You are now a @@.green;master hacker.@@
+		<<else>>
+			You have made progress towards mastering hacking and data manipulation.
+		<</if>>
+	<</if>>
+
 <</switch>>
 <</if>>
 
diff --git a/src/uncategorized/personalAssistantOptions.tw b/src/uncategorized/personalAssistantOptions.tw
index a1f93014090d286dbc44fb1cc0450bdd0db08e5a..779757d38eccec404f572f6e0e061bc049ec6750 100644
--- a/src/uncategorized/personalAssistantOptions.tw
+++ b/src/uncategorized/personalAssistantOptions.tw
@@ -1,4 +1,5 @@
 :: Personal assistant options [nobr]
+
 <<HSM>>
 <<set $nextButton = "Back", $nextLink = "Main">>
 
@@ -837,7 +838,7 @@ __Downloadable Appearances:__
 			<<link "Acquire a set of heaven and hell themed appearances">>
 				<<set $assistantExtra2 = 1, $nextLink = "Personal assistant options">>
 				<<goto "Assistant Appearance Pack Two">>
-			<</link>> //Yet more unencrypted files, ripe for the taking//
+			<</link>> //Unencrypted files, ripe for the taking//
 		<</if>>
 	<<else>>
 		You have downloaded a set of heavenly and hellish appearances for your avatar.
diff --git a/src/uncategorized/personalAttentionSelect.tw b/src/uncategorized/personalAttentionSelect.tw
index ee73a7af6cb71e6ab1e072551ec71f9938df71c4..c02ee3efe770e48f824845da6690e8a33b4cbf97 100644
--- a/src/uncategorized/personalAttentionSelect.tw
+++ b/src/uncategorized/personalAttentionSelect.tw
@@ -1,4 +1,5 @@
 :: Personal Attention Select [nobr]
+
 <<set $nextButton = "Back to Main", $nextLink = "Main">>
 
 <<if $PC.career == "escort">>
@@ -126,8 +127,27 @@
 		[[Hire a doctor to train you in medicine|Main][$personalAttention = "medicine"]]
 	<</if>>
 <</if>>
+<br>
+<<if $PC.hacking >= 100>>
+	//You are a master hacker.//
+<<else>>
+	<<if $PC.hacking > 60>>
+		//You are an expert hacker.//
+	<<elseif $PC.hacking > 30>>
+		//You have some skill as a hacker.//
+	<<elseif $PC.hacking > 10>>
+		//You have basic knowledge as a hacker.//
+	<<else>>
+		//You have no knowledge as a hacker.//
+	<</if>>
+	<<if $personalAttention == "hacking">>
+		You are training in hacking and data manipulation.
+	<<elseif $PC.hacking < 100 && $PC.actualAge < $IsPastPrimePC>>
+		[[Hire a slaver to train you in hacking|Main][$personalAttention = "hacking"]]
+	<</if>>
+<</if>>
 <</if>>
-<<if $PC.actualAge >= $IsInPrimePC && $PC.actualAge < $IsPastPrimePC && ($PC.medicine < 100 || $PC.engineering < 100 || $PC.slaving < 100 || $PC.warfare < 100 || $PC.trading < 100)>><br>//Training will cost <<print cashFormat(_cost)>> per week.//<</if>>
+<<if $PC.actualAge >= $IsInPrimePC && $PC.actualAge < $IsPastPrimePC && ($PC.medicine < 100 || $PC.engineering < 100 || $PC.slaving < 100 || $PC.warfare < 100 || $PC.trading < 100 || $PC.hacking < 100 )>><br>//Training will cost <<print cashFormat(_cost)>> per week.//<</if>>
 <br><br>
 
 <<if typeof $personalAttention != "object" || $personalAttention.length == 0>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index 5de296d736c5cf2b10870569304ce97aac772bb9..57e69c7e275fd1b1cb44ce8a759feb615b42b94f 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -1,5 +1,5 @@
 :: SA long term effects [nobr]
-<<HSM>>
+
 <<fetishChangeChance $slaves[$i]>>
 <<set $bellyAccessory to $slaves[$i].bellyAccessory>>
 <<set _para = 0>>