core depends on macros