lots of new stuff, including one new class and distinct module