Assignment 3 for CMPUT 379 class Winter 2014