CIS375 Assignment 3