Final project for CSCE 121