all source files are prefixed with 'twn_' things are categorized into two main folders: - 'include' for any definition that are usable from townengine library - 'src' for any private implementations internal headers have '_c.h' ending, so to not collide with our include style example of a module: src/twn_module.c -- internal implementations src/twn_module_c.h -- private declarations include/twn_module.h -- public declarations both private and public headers are included via root: #include "twn_module.h" #include "twn_module_c.h" additional subfolders in src/ are possible when implementation permutations are in place, build system will chose the appropriate ones all procedures in include/ headers must have TWN_API macro applied