Main program, version 2 first commit