main program done