CS193p assignment 2