CSC417 project 2