Final version of Assignment