Merge CSC517 project e814