Kernen now only uses macros, not functions