do you really need :: here ? it is local function IIUC