(ref) optimized build speed, moved all possipbe definitions to cpp files