anchor.diff:  	//ONLY WORKS FOR ONE PRODUCT AT THE MOMENT
   	//Calculate how much product to make and how much reactant to remove factors..
   	for(var/P in cached_results)
  -		//stepChemAmmount = CLAMP(((deltaT * multiplier), 0, ((targetVol - reactedVol)/cached_results[P]))  //used to have multipler, now it does
   		stepChemAmmount = (multiplier*cached_results[P])
   		if (stepChemAmmount > C.RateUpLim)
   			stepChemAmmount = C.RateUpLim
  
positive.code: 	handle_reactions()
  	update_total()
  	//Reaction sounds and words
  	playsound(get_turf(my_atom), C.mix_sound, 80, 1)
  	var/iconhtml = icon2html(my_atom)
  	my_atom.visible_message("<span class='notice'>[iconhtml] [C.mix_message]</span>")
  
  /datum/reagents/proc/fermiReact(selected_reaction, cached_temp, cached_pH, reactedVol, targetVol, cached_required_reagents, cached_results, multiplier)
  	var/datum/chemical_reaction/fermi/C = selected_reaction
  
negative.code: 			addChemAmmount = CHEMICAL_QUANTISATION_LEVEL
  		removeChemAmmount = (addChemAmmount/cached_results[P])
  		//This is kept for future bugtesters.
  		//message_admins("Reaction vars: PreReacted: [reactedVol] of [targetVol]. deltaT [deltaT], multiplier [multiplier], Step [stepChemAmmount], uncapped Step [deltaT*(multiplier*cached_results[P])], addChemAmmount [addChemAmmount], removeFactor [removeChemAmmount] Pfactor [cached_results[P]], adding [addChemAmmount]")
  
  	//remove reactants
  	for(var/B in cached_required_reagents)
  