First pass at the module core