CMPE322 Final Project