add macros to factorize code