the names starting with underscore come from namespace.h, so generate them directly