Programming assignment 2, initial version