cs21a, assign2