anchor.diff:  	var/turf/inputspot = null
   	///where beakers that are already full will be sent
   	var/turf/badspot = null
  +	///Does the plumbing machine have a correct tile setup
  +	var/valid_output_configuration = FALSE
   
   /obj/machinery/plumbing/bottler/Initialize(mapload, bolt, layer)
   	. = ..()
  
positive.code: /obj/machinery/plumbing/bottler/examine(mob/user)
  	. = ..()
  	. += span_notice("A small screen indicates that it will fill for [wanted_amount]u.")
  
  /obj/machinery/plumbing/bottler/can_be_rotated(mob/user, rotation_type)
  	if(anchored)
  
negative.code: 			inputspot = get_step(get_turf(src), WEST)
  			badspot = get_step(get_turf(src), SOUTH)
  
  	//If by some miracle
  	if( ( !valid_output_configuration ) && ( goodspot != null && inputspot != null && badspot != null ) )
  		valid_output_configuration = TRUE
  		begin_processing()
  
  ///changing input ammount with a window
  /obj/machinery/plumbing/bottler/interact(mob/user)
  	. = ..()
  	if(!valid_output_configuration)
  		to_chat(user, span_warning("A flashing notification on the screen reads: \"Output location error!\""))
  		return .
  	wanted_amount = clamp(round(input(user,"maximum is 100u","set ammount to fill with") as num|null, 1), 1, 100)
  	to_chat(user, span_notice(" The [src] will now fill for [wanted_amount]u."))
  
  /obj/machinery/plumbing/bottler/process()
  	if(machine_stat & NOPOWER)
  		return
  	// Sanity check the result locations and stop processing if they don't exist
  	if(goodspot == null || badspot == null || inputspot == null)
  		valid_output_configuration = FALSE
  		return PROCESS_KILL
  
  	///see if machine has enough to fill
  	if(reagents.total_volume >= wanted_amount && anchored)
  		var/obj/AM = pick(inputspot.contents)///pick a reagent_container that could be used
  