Term project for CSCE 633 & CSCE 670