Assignment 4 for CMPT 115