adding the first version of the main program