Why is :Clone() only working half the time?

I already found a solution to my code, but it is still confusing me on why my :Clone() seems to not be working properly.

Basically, what I was trying to do is clone a part and set its position to 1,10,1. What was happening, it would either not set its position and just go to the position of the part it cloned off of, or it would go to 1,10,1.

function NewPart()
	local Queue = tostring(game.ServerStorage.Queue.Value)
	local Part = game.Workspace.Part:Clone()
	Part.Position = Vector3.new(1,10,1)
	Part.Parent = game.Workspace
	--if Part.Position ~= Vector3.new(1,10,1) then
	--	Part:Destroy()                     --this was my fix
	--end
end

while wait() do
	NewPart()
end

Because you keep redefining the variable, It keeps searching the workspace for parts, you’re clones parts are the same as your original part so it would start to clone that one, you either need to change the name of the cloned part or define it outside of the function.