The working version of the program.  Now all that i have to add is some information about what is happening and some code snippets.