anchor.diff:  	add_fingerprint(usr)
   	return 1 // update UIs attached to this object
   
  -/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/reagent_containers/B as obj, var/mob/user as mob)
  +/obj/machinery/chem_dispenser/attackby(var/obj/item/weapon/reagent_containers/glass/B as obj, var/mob/user as mob)
   	if(isrobot(user))
  -		return
  -
  -	if(!istype(B, /obj/item/weapon/reagent_containers/glass || /obj/item/weapon/reagent_containers/food))
   		return
   
   	if(src.beaker)
   		user << "Something is already loaded into the machine."
   		return
  -
  -	src.beaker =  B
  -	user.drop_item()
  -	B.loc = src
  -	user << "You set [B] on the machine."
  -	nanomanager.update_uis(src) // update all UIs attached to src
  +	if(istype(B, /obj/item/weapon/reagent_containers/glass||/obj/item/weapon/reagent_containers/food))
  +		src.beaker =  B
  +		user.drop_item()
  +		B.loc = src
  +		user << "You set [B] on the machine."
  +		nanomanager.update_uis(src) // update all UIs attached to src
  +		return
   
   /obj/machinery/chem_dispenser/attack_ai(mob/user as mob)
   	return src.attack_hand(user)
  
positive.code:   *
    * @param user /mob The mob who is interacting with this ui
    * @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main")
    * @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui
    *
    * @return nothing
    */
  /obj/machinery/chem_dispenser/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null)
  	if(stat & (BROKEN|NOPOWER)) return
  	if(user.stat || user.restrained()) return
  
  
negative.code: 	desc = "A drink fabricating machine, capable of producing many sugary drinks with just one touch."
  	energy = 100
  	max_energy = 100
  	dispensable_reagents = list("water","ice","coffee","tea","icetea","space_cola","spacemountainwind","dr_gibb","space_up","tonic","sodawater","lemon_lime","sugar","orangejuice","limejuice")
  
  	/obj/machinery/chem_dispenser/soda/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
  		..()
  		if(istype(B, /obj/item/device/multitool))
  			if(hackedcheck == 0)
  				user << "You change the mode from 'McNano' to 'Pizza King'."
  				dispensable_reagents += list("thirteenloko")
  				hackedcheck = 1
  				return
  
  			else
  				user << "You change the mode from 'Pizza King' to 'McNano'."
  				dispensable_reagents -= list("thirteenloko")
  				hackedcheck = 0
  				return
  /obj/machinery/chem_dispenser/beer
  	icon_state = "booze_dispenser"
  	name = "booze dispenser"
  	energy = 100
  	max_energy = 100
  	desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
  	dispensable_reagents = list("water","ice","coffee","tea","cream","lemon_lime","sugar","orangejuice","limejuice","cola","sodawater","tonic","beer","kahlua","whisky","wine","vodka","gin","rum","tequila","vermouth","cognac","ale","mead")
  
  	/obj/machinery/chem_dispenser/beer/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
  		..()
  		if(istype(B, /obj/item/device/multitool))
  			if(hackedcheck == 0)
  				user << "You disable the 'nanotrasen-are-cheap-bastards' lock, enabling hidden and very expensive boozes."
  				dispensable_reagents += list("goldschlager","patron","watermelonjuice","berryjuice")
  				hackedcheck = 1
  				return
  
  			else
  				user << "You re-enable the 'nanotrasen-are-cheap-bastards' lock, disabling hidden and very expensive boozes."
  				dispensable_reagents -= list("goldschlager","patron","watermelonjuice","berryjuice")
  				hackedcheck = 0
  				return
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  
  /obj/machinery/chem_master
  	name = "ChemMaster 3000"
  