CSCI580 project