Submitted version in project2_final