First pass at Modules. And other updates.