cis526 project submission

Done by Junyi Li and Kai Hong