update the Functions