coming from C, I cannot fix better circular dependency between header files containing code (today)