First working version of the program