This is the Final Submission of the CS3715 Project