Assignment 3 for CIS 526