CSCE 470 Final Project