CSCI321 project