update 1.2, assignment 4