All code for project 2