Breaking the whole thing into modules using C preprocessor macros.