COMP204 Assignment 2 Production Code