Help with a script

I need help with a script. I have a script that is supposed to spawn a part when the player joins. The part is stored inside of a model in ServerStorage. Here is my module script stored in ServerScriptService:

local template = game:GetService("ServerStorage").Template

local function NewModel(model, cframe)
	local newModel = model:Clone()
	newModel:SetPrimaryPartCFrame(cframe)
	newModel.Parent = workspace
	return newModel
end

local Tycoon = {}
Tycoon.__Index = Tycoon

function Tycoon.new(player)
	local self = setmetatable({}, Tycoon)
	self.Owner = player
	
	return self
end

function Tycoon:Init()
	self.Model = NewModel(template, CFrame.new(0, 1, 0))
end

function Tycoon:Destroy()
	self.Model:Destroy()
end

return Tycoon

And here is my script that is also in ServerScriptService.

local Tycoon = require(script.Parent.Tycoon)

game:GetService("Players").PlayerAdded:Connect(function(player)
	local tycoon = Tycoon.new(player)
	tycoon:Init()
end)

When I try to run the code, I get this error that says:
ServerScriptService.Server:5: attempt to call missing method ‘Init’ of table.

Any help is appreciated!

1 Like