Assignment 1 for cs356