+ minor tweaks + added tests to ensure every header is includable by itself, also for compile time optimizations