anchor.diff:  
   /obj/item/weapon/aiModule/oneHuman
   	name = "'OneHuman' AI Module"
  -	var/targetName = "name"
  +	var/targetName = ""
   	desc = "A 'one human' AI module: 'Only <name> is human.'"
   	origin_tech = "programming=3;materials=6" //made with diamonds!
   
   /obj/item/weapon/aiModule/oneHuman/attack_self(var/mob/user as mob)
   	..()
  -	var/targName = copytext(sanitize(input(usr, "Please enter the name of the person who is the only human.", "Who?", user.real_name)),1,MAX_MESSAGE_LEN)
  +	var/targName = stripped_input(usr, "Please enter the name of the person who is the only human.", "Who?", user.real_name)
   	targetName = targName
   	desc = text("A 'one human' AI module: 'Only [] is human.'", targetName)
  +
  +/obj/item/weapon/aiModule/oneHuman/install(var/obj/machinery/computer/C)
  +	if(!targetName)
  +		usr << "No name detected on module, please enter one."
  +		return 0
  +	..()
   
   /obj/item/weapon/aiModule/oneHuman/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
   	..()
  
positive.code: 	var/law = "[newFreeFormLaw]"
  	target.add_ion_law(law)
  
  
  /******************** Robocop ********************/
  
  
negative.code: 	target.show_laws()
  
  
  /******************** Freeform Core ******************/
  
  /obj/item/weapon/aiModule/freeformcore // Slightly more dynamic freeform module -- TLE
  	name = "'Freeform' Core AI Module"
  	var/newFreeFormLaw = ""
  	desc = "A 'freeform' Core AI module: '<freeform>'"
  	origin_tech = "programming=3;materials=6"
  
  /obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob)
  	..()
  	var/newlaw = ""
  	var/targName = stripped_input(usr, "Please enter a new core law for the AI.", "Freeform Law Entry", newlaw)
  	newFreeFormLaw = targName
  	desc = "A 'freeform' Core AI module:  '[newFreeFormLaw]'"
  
  