1st version of Assignment2