updated to the new version of the assignment, complete