ce121, assignment 4