interface macros
interface macros, part 2