anchor.diff:  /obj/structure/cable/deconstruct(disassembled = TRUE)
   	if(!(flags_1 & NODECONSTRUCT_1))
   		var/turf/T = loc
  -		stored.forceMove(T)
  +		var/cableNum = 1
  +		if (d1*d2 > 0) //this be true if the cable has two directions, aka it contains two cables. If there is only one cable, one out of d1 and d2 will be zero
  +			cableNum = 2
  +		var/newCables = new /obj/item/stack/cable_coil(T, cableNum, cable_color)
  +		TransferComponents(newCables) //this copies the fingerprints over to the new object
   	qdel(src)
   
   ///////////////////////////////////
  
positive.code: 		if (shock(user, 50))
  			return
  		user.visible_message("[user] cuts the cable.", "<span class='notice'>You cut the cable.</span>")
  		stored.add_fingerprint(user)
  		investigate_log("was cut by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES)
  		deconstruct()
  		return
  
  
negative.code: 		hide(T.intact)
  	GLOB.cable_list += src //add it to the global cable list
  
  	var/list/cable_colors = GLOB.cable_colors
  	cable_color = param_color || cable_color || pick(cable_colors)
  	if(cable_colors[cable_color])
  