my solution to project 1