apparently the function definition isn't allowed to repeat default arguments from the prototype, sheesh