Why doesnt my "self" work

Hi Everyone!

im trying to make hoverboard and somehow my :PRINT() method doesnt work am i doing something wrong?

module script


local VehicleSystem = {}

VehicleSystem.__index = VehicleSystem

local players = game:GetService("Players")

local plr = players.LocalPlayer

local MaxSpeed = 30

function VehicleSystem.new(board)

local self = setmetatable({

board = board ,

speed = 8 ,

},VehicleSystem)

return self

end

function VehicleSystem:PRINT()

print(self.speed)

end

local script

module.new(currentHoverboard)
		module:PRINT()

my current hoverboard is variable problem isnt the currentHoverboard

it prints but prints nil nil (x12) - Client - HoverboardModule:19

You’re not calling :PRINT() from the object itself that has inherited the functions.

local object = module.new(currentHoverboard)
		object:PRINT()