main program updates