Programing Assignment 3