Backend implementation for CMSC436 Final Project