Modernize module

Hi labster,

This implements the two changes that I understood how to do, and todo's the two tests that fail that I don't understand.  I made it as three separate commits so you can pick and choose.