Pseudo-class script - could it be done any better?

– Need to define a superclass which all other classes are based on.
_CSuperclass = {}
_MT_CSuperclass = {}

@FUNC _CSuperClass:New
@PARAM … (variable)
@DESC Creates a copy of the ‘self’ object, which inherits from self (and self’s parents).
@RETURNS A new class, or an instance of a class.
function _CSuperclass:New(…)
local Output = table.copy(self)
local Param = arg

local meta = table.copy(_MT_CSuperclass)
meta.parent = self
setmetatable(Output, meta)

if self.onInit ~= nil then
	Param.n = nil
	Output = self.onInit(Output, Param)
return Output


_MT_CSuperclass.Parent = _CSuperclass
function _MT_CSuperclass:__index(t, k)
local meta = getmetatable(self)
if not t[k] then
return meta.parent[k] or nil
class = _CSuperclass

Really my first real effort with metatables. Is there any way this could be done better?