Commit a mostly functional version of the module. All templates and preprocessors are now done.