Assignment 4 for CIS 526