Final version for project 1