Why the function here, rather than just a method?