Assignment 3 for CPSC 112