do main program