anchor.diff:  	else
   		. = ..()
   
  -/obj/item/dogborg/sleeper/compactor/afterattack(var/atom/movable/target, mob/living/silicon/user, proximity)//GARBO NOMS
  -	hound = loc
  -	var/obj/item/target_obj = target
  -	if(!istype(target))
  -		return
  -	if(!proximity)
  -		return
  -	if(target.anchored)
  +/obj/item/dogborg/sleeper/compactor/afterattack(atom/movable/target, mob/living/silicon/user, proximity)//GARBO NOMS
  +	var/mob/living/silicon/robot/hound = get_host()
  +	if(!hound || !istype(target) || !proximity || target.anchored)
   		return
   	if(length(contents) > (max_item_count - 1))
   		to_chat(user,"<span class='warning'>Your [src] is full. Eject or process contents to continue.</span>")
   		return
  -	if(isobj(target))
  -		if(CheckAccepted(target))
  -			to_chat(user,"<span class='warning'>\The [target] registers an error code to your [src]</span>")
  +	if(isitem(target))
  +		var/obj/item/I = target
  +		if(CheckAccepted(I))
  +			to_chat(user,"<span class='warning'>[I] registers an error code to your [src]</span>")
   			return
  -		if(target_obj.w_class > WEIGHT_CLASS_NORMAL)
  -			to_chat(user,"<span class='warning'>\The [target] is too large to fit into your [src]</span>")
  +		if(I.w_class > WEIGHT_CLASS_NORMAL)
  +			to_chat(user,"<span class='warning'>[I] is too large to fit into your [src]</span>")
   			return
  -		user.visible_message("<span class='warning'>[hound.name] is ingesting [target.name] into their [src.name].</span>", "<span class='notice'>You start ingesting [target] into your [src.name]...</span>")
  +		user.visible_message("<span class='warning'>[hound.name] is ingesting [I] into their [src.name].</span>", "<span class='notice'>You start ingesting [target] into your [src.name]...</span>")
   		if(do_after(user, 15, target = target) && length(contents) < max_item_count)
  -			if(!in_range(src, target)) //Proximity is probably old news by now, do a new check.
  -				return //If they moved away, you can't eat them. This still applies to items, don't magically eat things I picked up already.
  -			target.forceMove(src)
  -			user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [target.name] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [target] slips inside.</span>")
  +			I.forceMove(src)
  +			I.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [I] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [I] slips inside.</span>")
   			playsound(hound, 'sound/machines/disposalflush.ogg', 50, 1)
   			if(length(contents) > 11) //grow that tum after a certain junk amount
   				hound.sleeper_r = 1
  
positive.code: /obj/item/dogborg/sleeper/Exit(atom/movable/O)
  	return 0
  
  /obj/item/dogborg/sleeper/afterattack(mob/living/carbon/target, mob/living/silicon/user, proximity)
  	hound = loc
  	if(!proximity)
  		return
  	if(!iscarbon(target))
  
negative.code: 		cleaning_cycles = initial(cleaning_cycles)
  		cleaning = FALSE
  		to_chat(hound, "<span class='notice'>Your [src] chimes it ends its self-cleaning cycle.</span>")//Belly is entirely empty
  
  	if(!length(contents))
  		to_chat(hound, "<span class='notice'>Your [src] is now clean. Ending self-cleaning cycle.</span>")
  		cleaning = FALSE
  
  //sound effects
  	if(prob(50))
  