main routine