Improved function interface.