So i don't want this to be a part i want it to be like a image label that gets sized or like a surface gui with a frame that is attached to the part and gets sized to where the mouse are like in mini golf but how would i do that?

coroutine.resume(coroutine.create(function()
        p = Instance.new("Part", workspace)
        p.Anchored = true
        p.CanCollide = false
        while wait() do
            local ray = Ray.new(workspace.Ball.Position, (mouse.hit.p - workspace.Ball.Position).unit * 200)
            local distance = ((workspace.Ball.Position - mouse.hit.p).magnitude*5)
            p.Size = Vector3.new(1,0.1,distance)
            p.CFrame = CFrame.new(workspace.Ball.Position, mouse.hit.p)*CFrame.new(0, 0, -distance/2)
            p.Color = Color3.new(1,0,0)
        end
end))