anchor.diff:  			if(amount == 0)
   				if (O.reagents != null && O.reagents.has_reagent("nutriment"))
   					beaker.reagents.add_reagent(r_id, min(O.reagents.get_reagent_amount("nutriment"), space))
  +					O.reagents.remove_reagent("nutriment", min(O.reagents.get_reagent_amount("nutriment"), space))
   
   			else
   				O.reagents.trans_id_to(beaker, r_id, min(amount, space))
  
positive.code: 			var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume
  			var/amount = get_juice_amount(O)
  
  			O.reagents.trans_id_to(beaker, r_id, min(amount, space))
  
  			if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
  				break
  		if(O.reagents.reagent_list.len == 0)
  			remove_object(O)
  
  
  	if(holdingitems && holdingitems.len == 0)
  		src.verbs -= /obj/machinery/reagentgrinder/verb/eject
  
  /obj/machinery/reagentgrinder/proc/grind()
  
  	power_change()
  	if(stat & (NOPOWER|BROKEN))
  		return
  	if (!beaker || beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
  		return
  	playsound(src.loc, 'blender.ogg', 50, 1)
  	inuse = 1
  
negative.code: 	src.updateUsrDialog()
  	return
  
  /obj/machinery/reagentgrinder/proc/detach()
  
  	if (usr.stat != 0)
  		return
  	if (!beaker)
  		return
  	beaker.loc = src.loc
  	beaker = null
  	update_icon()
  
  /obj/machinery/reagentgrinder/proc/eject()
  
  	if (usr.stat != 0)
  		return
  	if (holdingitems && holdingitems.len == 0)
  		return
  
  	for(var/obj/item/O in holdingitems)
  		O.loc = src.loc
  