modify the function type