Final submission of Project 2