blackbox and whitebox macros