this is the latest version of the assignment