Code for CSCI 3081