CPSC304 project part 3