Latest version of Assignment 2