Final project for CS50; Other group members: Viet Anh Le and Jack Terwilliger