Assignment 1 for CMPUT 301