Final project for Data Structures & Algorithms