The main program with parser