Final project for CprE 489 at Iowa Sate University