Final project for CS671