anchor.diff:  
   		for(var/step_dir in cardinal)
   			var/obj/machinery/hydroponics/h = get_step(src, step_dir)
  -			if(h)
  -				if(h.anchored==2)
  -					if(!h in connected)
  -						if(!h in processing_atoms)
  -							processing_atoms += h
  +			if(h && h.anchored==2 && !h in connected && !h in processing_atoms)
  +				processing_atoms += h
   
   		processing_atoms -= a
   		connected += a
  
positive.code: 			trays=FindConnected()
  			visi_msg+=" setting off the irrigation system"
  
  		if(visi_msg) visible_message("<span class='notice'>[visi_msg].</span>")
  
  		var/split = round(reagent_source.amount_per_transfer_from_this/trays.len)
  
  
negative.code: 				anchored = 2
  				user << "You screw in the [src]'s hoses."
  
  			for(var/obj/machinery/hydroponics/h in range(1,src))
  				spawn()
  					h.update_icon()
  
  	else if(istype(O, /obj/item/weapon/shovel))
  		if(istype(src, /obj/machinery/hydroponics/soil))
  