Final project for cs50x