Why the inner function?