COMP6000 Semester Project