Final submission for Assignment 2