Final project for cmpe156