update the function interface