Developing the main program