CMPT 828 Paper Reproduction