programming Assignment 2