initial macros