cmpt 474 assignment 2