cs201p assignment 2