Programming assignment2