why is this a function?