add useful macros