match the function prototype