technically using mocha breaks the rules, but it felt weird turning this in without unit tests