Course project for CSE 5424 (Recreated)