project for CSCI 306