CSC417 project 3