David R. Cheriton School of Computer Science, University of Waterloo – Canada