Final project for Data Structures (CS3424)