final version of the common assignment 5974718