CPSC Assignment 3