update the program