When the player sits in the seat, the GUI should clone. When the player jumps out, the GUI should destroy itself. This just isn't happening!

Please help me!

gui = script.Parent.Controls
guiClone = nil

script.Parent.ChildAdded:connect(function(SeatWeld)
	char = SeatWeld.Part1.Parent
	player = game.Players:GetPlayerFromCharacter(char)
	guiClone = gui:Clone()
	guiClone.Parent = player.PlayerGui
end)

script.Parent.ChildRemoved:connect(function(removeWeld)
	if guiClone then
		guiClone:Destroy()
	end
end)