add helper macros