Programming assignment 2 version 1