is it a class or a function... ahh, JS, you're so weird.