Assignment 2 for cscs437