In fulfillment for CMSC 128 Major Project