change function prototype