CMSC426 Submission
(Mandatory Requirements)