Original version of the Programming Assigment 2