CIS520, project 1