USC CSCI571 Project