CS517 Semester Project